:root{
    --tri3-cream:#fbf4e6;
    --tri3-cream2:#fffaf2;
    --tri3-ink:#281711;
    --tri3-red:#b20d19;
    --tri3-red2:#860a12;
    --tri3-gold:#b9782d;
    --tri3-line:#dec7a0;
    --tri3-muted:#715d50;
}
.tri-v3-pass-hero,.tri-v3-reg,.tri-v3-explain{background:var(--tri3-cream);color:var(--tri3-ink)}
.tri-v3-pass-shell,.tri-v3-reg-shell,.tri-v3-explain-shell{width:min(100% - 40px,1320px);margin:auto}
.tri-v3-kicker{display:block;font-size:10px;letter-spacing:2.3px;font-weight:800;color:#a44321}
.tri-v3-pass-hero{padding:46px 0 0;border-bottom:1px solid var(--tri3-line)}
.tri-v3-pass-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start;padding-bottom:52px}
.tri-v3-pass-intro{padding:20px 0 0}
.tri-v3-pass-intro h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(62px,6.7vw,112px);line-height:.83;letter-spacing:-4px;margin:18px 0 25px;font-weight:600}
.tri-v3-pass-intro h1 em{color:var(--tri3-red);font-weight:600}
.tri-v3-pass-intro>p{max-width:470px;color:var(--tri3-muted);font-size:15px;line-height:1.7}
.tri-v3-event-line{display:grid;grid-template-columns:.65fr .65fr 1.35fr;border-top:1px solid var(--tri3-line);margin-top:38px;padding-top:21px}
.tri-v3-event-line>div{padding:0 17px;border-left:1px solid var(--tri3-line)}
.tri-v3-event-line>div:first-child{padding-left:0;border-left:0}
.tri-v3-event-line strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:18px}
.tri-v3-event-line span{display:block;font-size:10px;color:var(--tri3-muted);margin-top:3px}
.tri-v3-pass-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tri-v3-pass-card{position:relative;min-height:565px;border:1px solid var(--tri3-line);padding:30px;background:rgba(255,250,242,.72);overflow:hidden}
.tri-v3-pass-card:after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(185,120,45,.15);border-radius:50%;right:-120px;top:-100px;box-shadow:0 0 0 38px rgba(185,120,45,.025),0 0 0 76px rgba(185,120,45,.018);pointer-events:none}
.tri-v3-daily-card{background:linear-gradient(145deg,#fff8ed,#f5e4c8)}
.tri-v3-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;position:relative;z-index:2}
.tri-v3-card-no{font-family:"Playfair Display",Georgia,serif;font-size:16px;color:var(--tri3-gold)}
.tri-v3-card-tag{font-size:8px;letter-spacing:1.5px;border:1px solid #dcbf91;padding:8px 11px;color:#965b22}
.tri-v3-pass-card h2{font-family:"Playfair Display",Georgia,serif;font-size:44px;line-height:.95;margin:12px 0 24px}
.tri-v3-pass-card h2 em{color:var(--tri3-red)}
.tri-v3-price{display:flex;align-items:baseline;gap:9px}
.tri-v3-price strong{font-family:"Playfair Display",Georgia,serif;font-size:42px;color:var(--tri3-red)}
.tri-v3-price span{font-size:10px;color:var(--tri3-muted)}
.tri-v3-rule{height:1px;background:var(--tri3-line);margin:20px 0}
.tri-v3-pass-card ul{list-style:none;padding:0;margin:0 0 26px}
.tri-v3-pass-card li{font-size:12px;line-height:1.55;margin:10px 0;color:#4f3d33;padding-left:20px;position:relative}
.tri-v3-pass-card li:before{content:"✓";position:absolute;left:0;color:var(--tri3-red);font-weight:800}
.tri-v3-gender-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tri-v3-gender-actions a,.tri-v3-main-action,.tri-v3-submit{display:flex;justify-content:center;align-items:center;gap:12px;background:var(--tri3-red);color:#fff!important;text-decoration:none;border:0;min-height:52px;padding:0 18px;font-size:10px;font-weight:800;letter-spacing:1.2px;cursor:pointer}
.tri-v3-gender-actions a:hover,.tri-v3-main-action:hover,.tri-v3-submit:hover{background:var(--tri3-red2)}
.tri-v3-main-action{width:100%}
.tri-v3-trust{min-height:56px;background:#a90d18;color:#fff;display:flex;justify-content:center;align-items:center;gap:26px;font-size:8px;letter-spacing:1.6px;font-weight:800}
.tri-v3-trust i{width:4px;height:4px;background:#e4b45c;transform:rotate(45deg)}
.tri-v3-explain{padding:72px 0 80px}
.tri-v3-explain h2{font-family:"Playfair Display",Georgia,serif;font-size:52px;line-height:.95;margin:12px 0 35px}
.tri-v3-explain h2 em{color:var(--tri3-red)}
.tri-v3-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--tri3-line);border-bottom:1px solid var(--tri3-line)}
.tri-v3-steps article{padding:25px;border-left:1px solid var(--tri3-line);min-height:155px}
.tri-v3-steps article:first-child{border-left:0}
.tri-v3-steps b{display:block;color:var(--tri3-red);font-size:10px;letter-spacing:1px}
.tri-v3-steps strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:21px;margin:22px 0 7px}
.tri-v3-steps p,.tri-v3-note{font-size:11px;line-height:1.65;color:var(--tri3-muted)}
.tri-v3-note{margin:20px 0 0}

/* Registration */
.tri-v3-reg{padding:48px 0 80px;min-height:80vh}
.tri-v3-reg-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;border-bottom:1px solid var(--tri3-line);padding-bottom:25px}
.tri-v3-reg-head h1{font-family:"Playfair Display",Georgia,serif;font-size:48px;line-height:1;margin:10px 0}
.tri-v3-reg-head p{margin:0;color:var(--tri3-muted);font-size:12px}
.tri-v3-reg-head>a{font-size:9px;letter-spacing:1.4px;color:var(--tri3-red);font-weight:800;text-decoration:none}
.tri-v3-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;gap:10px;align-items:center;margin:25px 0}
.tri-v3-progress>div{display:flex;align-items:center;gap:7px;color:#9d8c80}
.tri-v3-progress b{width:25px;height:25px;border:1px solid #cdb89a;border-radius:50%;display:grid;place-items:center;font-size:9px}
.tri-v3-progress span{font-size:9px;font-weight:700;letter-spacing:.7px}
.tri-v3-progress i{height:1px;background:#dfcbaa}
.tri-v3-progress .is-active{color:var(--tri3-red)}
.tri-v3-progress .is-active b{background:var(--tri3-red);border-color:var(--tri3-red);color:#fff}
.tri-v3-alert{border:1px solid #e9aaa9;background:#fff0ef;color:#86151a;padding:15px 18px;margin:18px 0;font-size:12px}
.tri-v3-alert ul{margin:8px 0 0;padding-left:20px}
.tri-v3-reg-form{display:grid;gap:18px}
.tri-v3-selection-card,.tri-v3-form-card{border:1px solid var(--tri3-line);background:#fffaf1;padding:28px}
.tri-v3-selection-title{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.tri-v3-selection-title h2,.tri-v3-form-title h2{font-family:"Playfair Display",Georgia,serif;font-size:31px;margin:7px 0}
.tri-v3-selection-title p{font-size:11px;color:var(--tri3-muted);margin:0}
.tri-v3-selection-title>strong{font-family:"Playfair Display",Georgia,serif;font-size:30px;color:var(--tri3-red);white-space:nowrap}
.tri-v3-selection-title>strong small,.tri-v3-season-selection h2 small{font-family:inherit;font-size:11px}
.tri-v3-date-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;margin:24px 0}
.tri-v3-date-chip input{position:absolute;opacity:0;pointer-events:none}
.tri-v3-date-chip span{min-height:82px;border:1px solid #d9c29e;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:.18s}
.tri-v3-date-chip small{font-size:7px;letter-spacing:1px;color:#8a6f5b}
.tri-v3-date-chip b{font-family:"Playfair Display",Georgia,serif;font-size:24px;margin:2px 0;color:#362019}
.tri-v3-date-chip em{font-size:7px;font-style:normal;letter-spacing:1px;color:#a66728}
.tri-v3-date-chip input:checked+span{background:var(--tri3-red);border-color:var(--tri3-red);box-shadow:inset 0 0 0 3px var(--tri3-red),inset 0 0 0 4px #dca951}
.tri-v3-date-chip input:checked+span *{color:#fff}
.tri-v3-qty-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tri-v3-qty-grid>label{border:1px solid #dfc8a4;background:#fff;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.tri-v3-qty-grid>label>span{font-size:11px;font-weight:800;color:#4a3027}
.tri-v3-stepper{display:grid;grid-template-columns:35px 48px 35px;border:1px solid #d7bc91}
.tri-v3-stepper button{border:0;background:#f8ead4;font-size:18px;cursor:pointer}
.tri-v3-stepper input{width:100%;border:0;text-align:center;font-weight:800;font-size:14px;appearance:textfield}
.tri-v3-stepper input::-webkit-inner-spin-button{appearance:none}
.tri-v3-live-summary{display:grid;grid-template-columns:repeat(6,1fr);margin-top:18px;background:#f4e4ca;border:1px solid #d9bd90}
.tri-v3-live-summary>div{padding:13px;border-left:1px solid #d9bd90}
.tri-v3-live-summary>div:first-child{border-left:0}
.tri-v3-live-summary span{display:block;font-size:7px;letter-spacing:1px;text-transform:uppercase;color:#856b59;margin-bottom:4px}
.tri-v3-live-summary strong{font-size:12px}
.tri-v3-live-summary .is-total{background:#9f0c15;color:#fff}
.tri-v3-live-summary .is-total span{color:#efd6ae}
.tri-v3-builder-note{font-size:10px;color:var(--tri3-muted);margin:13px 0 0}
.tri-v3-season-selection{display:flex;justify-content:space-between;align-items:center}
.tri-v3-season-selection h2{font-family:"Playfair Display",Georgia,serif;color:var(--tri3-red);font-size:34px;margin:8px 0}
.tri-v3-season-selection p{margin:0;color:var(--tri3-muted);font-size:11px}
.tri-v3-form-title{padding-bottom:18px;border-bottom:1px solid #ead7b9;margin-bottom:22px}
.tri-v3-form-title>span{font-size:8px;letter-spacing:1.7px;color:#a44321;font-weight:800}
.tri-v3-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.tri-v3-fields label{display:block}
.tri-v3-fields label.is-wide{grid-column:1/-1}
.tri-v3-fields label>span{display:block;font-size:9px;letter-spacing:.6px;font-weight:800;margin-bottom:7px;color:#4b3026;text-transform:uppercase}
.tri-v3-fields label>span b{color:var(--tri3-red)}
.tri-v3-fields input,.tri-v3-fields select{width:100%;height:48px;border:1px solid #d9c5a5;background:#fff;padding:0 13px;font-size:13px;color:#261914;border-radius:0;outline:none}
.tri-v3-fields input:focus,.tri-v3-fields select:focus{border-color:#ab5b36;box-shadow:0 0 0 2px rgba(171,91,54,.08)}
.tri-v3-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#2b1711;color:#fff;padding:20px 22px}
.tri-v3-form-bottom strong{display:block;font-size:9px;letter-spacing:1.4px;color:#e5bd7b}
.tri-v3-form-bottom span{font-size:10px;color:#d9c9c0}
.tri-v3-submit{min-width:260px}

@media(max-width:1000px){
    .tri-v3-pass-shell{grid-template-columns:1fr;gap:35px}
    .tri-v3-pass-intro h1{font-size:78px}
    .tri-v3-date-grid{grid-template-columns:repeat(5,1fr)}
    .tri-v3-live-summary{grid-template-columns:repeat(3,1fr)}
    .tri-v3-live-summary>div:nth-child(4){border-left:0}
}
@media(max-width:700px){
    .tri-v3-pass-shell,.tri-v3-reg-shell,.tri-v3-explain-shell{width:min(100% - 28px,1320px)}
    .tri-v3-pass-hero{padding-top:25px}
    .tri-v3-pass-intro h1{font-size:58px;letter-spacing:-2px}
    .tri-v3-event-line{grid-template-columns:1fr 1fr}.tri-v3-event-line>div:last-child{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--tri3-line);padding-top:12px;margin-top:12px}
    .tri-v3-pass-grid{grid-template-columns:1fr}
    .tri-v3-pass-card{min-height:auto;padding:24px}
    .tri-v3-pass-card h2{font-size:38px}
    .tri-v3-price strong{font-size:36px}
    .tri-v3-gender-actions{grid-template-columns:1fr}
    .tri-v3-trust{gap:10px;padding:14px;flex-wrap:wrap}
    .tri-v3-steps{grid-template-columns:1fr 1fr}
    .tri-v3-steps article:nth-child(3){border-left:0;border-top:1px solid var(--tri3-line)}
    .tri-v3-steps article:nth-child(4){border-top:1px solid var(--tri3-line)}
    .tri-v3-reg-head{align-items:flex-start;flex-direction:column}
    .tri-v3-reg-head h1{font-size:38px}
    .tri-v3-progress span{display:none}
    .tri-v3-selection-card,.tri-v3-form-card{padding:19px}
    .tri-v3-selection-title{flex-direction:column}
    .tri-v3-date-grid{grid-template-columns:repeat(3,1fr)}
    .tri-v3-qty-grid{grid-template-columns:1fr}
    .tri-v3-live-summary{grid-template-columns:1fr 1fr}
    .tri-v3-live-summary>div:nth-child(odd){border-left:0}
    .tri-v3-live-summary>div:nth-child(4){border-left:1px solid #d9bd90}
    .tri-v3-fields{grid-template-columns:1fr}
    .tri-v3-fields label.is-wide{grid-column:auto}
    .tri-v3-form-bottom{align-items:stretch;flex-direction:column}
    .tri-v3-submit{width:100%;min-width:0}
}

/* =====================================================
   FIX - Pass card top labels getting clipped
   ===================================================== */

.tri-v3-pass-card{
    overflow: visible !important;
}

/* Keep card content above decorative circles */
.tri-v3-pass-card > *{
    position: relative;
    z-index: 2;
}

.tri-v3-card-tag{
    position: relative;
    z-index: 10;
}

/* Give protruding card labels enough room */
@media (min-width: 769px){
    .tri-v3-pass-card{
        margin-top: 18px !important;
    }
}


.tri-v3-pass-card:after{
    z-index: 0 !important;
    pointer-events: none !important;
}


/* RED-IMPRINTS-PASSES-UI-FIX-V3 */

/* Give stronger breathing space below header so hero does not feel cut from top */
.tri-v3-pass-hero{
    padding-top: 96px !important;
}

.tri-v3-pass-shell{
    padding-top: 18px !important;
    align-items: start !important;
}

.tri-v3-pass-intro,
.tri-v3-pass-card{
    position: relative !important;
    top: 0 !important;
}

.tri-v3-pass-intro{
    padding-top: 22px !important;
}

.tri-v3-pass-grid{
    align-items: start !important;
}

.tri-v3-pass-card{
    margin-top: 10px !important;
    min-height: 560px !important;
}

.tri-v3-card-top{
    margin-top: 0 !important;
    padding-top: 2px !important;
}

.tri-v3-trust{
    margin-top: 14px !important;
}

@media (max-width: 1200px){
    .tri-v3-pass-hero{
        padding-top: 74px !important;
    }
    .tri-v3-pass-shell{
        padding-top: 10px !important;
    }
}

@media (max-width: 700px){
    .tri-v3-pass-hero{
        padding-top: 48px !important;
    }
    .tri-v3-pass-shell{
        padding-top: 0 !important;
    }
    .tri-v3-pass-intro{
        padding-top: 0 !important;
    }
    .tri-v3-pass-card{
        margin-top: 0 !important;
        min-height: auto !important;
    }
}
