/* Trinity V46 — desktop reference composition.
   Everything in this file is desktop-only so the approved phone design remains intact. */

.trinity-v46-motto-rail,
.trinity-v46-assurance-rail,
.trinity-v46-hero-lede,
.trinity-v46-featured-link,
.trinity-v46-proof{
  display:none;
}

@media (max-width:700px){
  .trinity-v46-research-bubble{
    display:none!important;
  }
}

@media (min-width:701px){
  :root{
    --v46-gold:#d6ad59;
    --v46-gold-bright:#f0d58d;
    --v46-line:rgba(214,173,89,.32);
    --v46-black:#030303;
  }

  .site-header.trinity-v35-header{
    display:block!important;
    position:sticky!important;
    top:0!important;
    z-index:180!important;
    height:188px!important;
    min-height:188px!important;
    overflow:visible!important;
    background:#030303!important;
    border-top:0!important;
    border-bottom:1px solid var(--v46-line)!important;
    box-shadow:0 12px 36px rgba(0,0,0,.4)!important;
  }

  .trinity-v46-motto-rail{
    height:32px;
    padding:0 clamp(28px,4vw,64px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid rgba(214,173,89,.2);
    color:#947d55;
    font:700 9px/1 Georgia,"Times New Roman",serif;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .trinity-v35-shell{
    width:min(1500px,100%)!important;
    height:92px!important;
    min-height:92px!important;
    grid-template-columns:minmax(220px,265px) minmax(0,1fr)!important;
    gap:0!important;
    padding:0 clamp(20px,3vw,46px)!important;
    border-bottom:1px solid rgba(214,173,89,.2);
  }

  .trinity-v35-brand{
    height:92px!important;
    padding-right:28px;
    border-right:1px solid rgba(214,173,89,.2);
  }

  .trinity-v35-brand img{
    content:url("../assets/brand/trinity-v45-1-hero-logo-transparent-v48.webp")!important;
    width:205px!important;
    height:72px!important;
    max-width:205px!important;
    max-height:72px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .trinity-v35-actions{
    position:relative;
    height:92px;
    display:grid!important;
    grid-template-columns:repeat(8,minmax(76px,1fr))!important;
    overflow:visible!important;
    border-left:0!important;
  }

  .trinity-v35-bubble{
    min-height:92px!important;
    padding:11px 8px!important;
    border-right:1px solid rgba(214,173,89,.18)!important;
    color:#dbcba9!important;
    font-size:clamp(.58rem,.68vw,.72rem)!important;
  }

  /* approved-design.css gives the shared cart ID position:static.
     Restore a containing block so its bubble layer cannot cover sibling controls. */
  #openCartButton.trinity-v35-cart{
    position:relative!important;
  }

  .trinity-v35-bubble svg{
    width:22px!important;
    height:22px!important;
  }

  .trinity-v35-theme{
    overflow:visible!important;
  }

  .trinity-v35-theme::after{
    font-size:8px!important;
    letter-spacing:.015em!important;
  }

  .trinity-v35-menu{
    position:absolute!important;
    left:clamp(-245px,-17vw,-218px)!important;
    top:102px!important;
    z-index:4!important;
    width:56px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    border:1px solid rgba(214,173,89,.34)!important;
    border-radius:7px!important;
    background:#070706!important;
  }

  .trinity-v35-menu span{
    display:none!important;
  }

  .trinity-v35-menu svg{
    width:22px!important;
    height:22px!important;
  }

  .trinity-v46-assurance-rail{
    width:min(1360px,calc(100% - 140px));
    height:64px;
    margin:0 auto;
    padding-left:80px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:stretch;
  }

  .trinity-v46-assurance-rail>div{
    min-width:0;
    display:grid;
    grid-template-columns:34px 1fr;
    align-items:center;
    gap:10px;
    padding:8px 18px;
    border-left:1px solid rgba(214,173,89,.2);
  }

  .trinity-v46-assurance-rail>div:last-child{
    border-right:1px solid rgba(214,173,89,.2);
  }

  .trinity-v46-assurance-rail>div>span{
    color:var(--v46-gold);
    font-size:25px;
    text-align:center;
  }

  .trinity-v46-assurance-rail p{
    min-width:0;
    margin:0;
    display:grid;
    gap:4px;
  }

  .trinity-v46-assurance-rail b{
    color:#d9be81;
    font:700 10px/1.1 Georgia,"Times New Roman",serif;
    letter-spacing:.055em;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .trinity-v46-assurance-rail small{
    color:#9f9585;
    font:400 9px/1.1 Arial,sans-serif;
    white-space:nowrap;
  }

  .trinity-v35-menu-panel{
    top:100%!important;
  }

  body.trinity-storefront main#top,
  main#top{
    padding-top:0!important;
    margin-top:0!important;
  }

  #trinityCinematicHero{
    height:712px!important;
    min-height:712px!important;
    z-index:170!important;
    border-bottom:1px solid var(--v46-line)!important;
  }

  #trinityCinematicHero .trinity-cinematic-cathedral{
    inset:0 0 88px!important;
    background:
      linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.59) 33%,rgba(0,0,0,.13) 66%,rgba(0,0,0,.27) 100%),
      url("../assets/brand/hero-cathedral-backdrop-v48.webp") 58% 53%/cover no-repeat!important;
    filter:saturate(.88) contrast(1.15) brightness(.72)!important;
  }

  #trinityCinematicHero #brandHeroSmokeCanvas{
    inset:0 0 88px!important;
    height:624px!important;
  }

  #trinityCinematicHero .trinity-cinematic-embers,
  #trinityCinematicHero .trinity-cinematic-vignette{
    bottom:88px!important;
  }

  #trinityCinematicHero .brand-hero-heading{
    left:7.2%!important;
    top:46%!important;
    width:34%!important;
    max-width:455px!important;
    transform:translateY(-50%)!important;
    z-index:20!important;
  }

  #trinityCinematicHero .brand-hero-heading h1{
    font-size:clamp(58px,5.1vw,77px)!important;
    line-height:.87!important;
    letter-spacing:-.045em!important;
  }

  #trinityCinematicHero .trinity-cinematic-eyebrow{
    margin-bottom:16px!important;
    font-size:12px!important;
    letter-spacing:.18em!important;
  }

  #trinityCinematicHero .trinity-cinematic-lede{
    display:none!important;
  }

  #trinityCinematicHero .trinity-v46-hero-lede{
    margin:23px 0 0;
    display:block!important;
    color:#d9d1c4;
    font:400 15px/1.7 Georgia,"Times New Roman",serif;
    text-shadow:0 2px 10px #000;
  }

  #trinityCinematicHero .brand-hero-heading::before,
  #trinityCinematicHero .brand-hero-heading::after{
    content:none!important;
    display:none!important;
  }

  html body #trinityCinematicHero .brand-hero-heading .tri-hero-actions{
    position:static!important;
    width:258px!important;
    min-width:258px!important;
    max-width:258px!important;
    height:56px!important;
    min-height:56px!important;
    margin-top:22px!important;
    padding:0!important;
    transform:none!important;
    display:flex!important;
  }

  html body #trinityCinematicHero .brand-hero-heading .tri-hero-primary{
    position:static!important;
    display:flex!important;
    flex:0 0 258px!important;
    width:258px!important;
    min-width:258px!important;
    max-width:258px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    margin:0!important;
    padding:0 23px!important;
    box-sizing:border-box!important;
    color:#e3c477!important;
    background:rgba(3,3,3,.55)!important;
    border:1px solid rgba(227,196,119,.66)!important;
    box-shadow:inset 0 0 0 1px rgba(214,173,89,.1),0 12px 30px rgba(0,0,0,.3)!important;
    font-size:12px!important;
    letter-spacing:.055em!important;
  }

  html body #trinityCinematicHero .brand-hero-heading .tri-hero-primary:hover{
    color:#120e08!important;
    background:linear-gradient(180deg,#efd071,#d8a940)!important;
  }

  html body #trinityCinematicHero .brand-hero-heading .tri-hero-primary span{
    font-size:inherit!important;
  }

  html body #trinityCinematicHero .brand-hero-heading .tri-hero-primary-arrow{
    font-size:24px!important;
  }

  #trinityCinematicHero .trinity-v46-featured-link{
    margin-top:17px;
    display:inline-block;
    color:#a52322;
    font:700 9px/1 Georgia,"Times New Roman",serif;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-decoration:none;
  }

  #trinityCinematicHero .trinity-v43-hero-logo{
    top:145px!important;
    right:43.5%!important;
    width:164px!important;
    height:230px!important;
    z-index:21!important;
  }

  #trinityCinematicHero .trinity-knight-stage,
  #trinityCinematicHero #brandHeroStage{
    top:0!important;
    right:7.5%!important;
    width:45vw!important;
    max-width:600px!important;
    height:624px!important;
    transform:none!important;
  }

  #trinityCinematicHero .trinity-knight-rig img,
  #trinityCinematicHero #brandHeroRig img{
    height:100%!important;
    bottom:0!important;
  }

  #trinityCinematicHero .tri-hero-proof{
    display:none!important;
  }

  #trinityCinematicHero .trinity-v46-proof{
    position:absolute;
    z-index:30;
    left:4%;
    right:4%;
    bottom:0;
    height:88px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    background:rgba(5,5,4,.97);
    border:1px solid rgba(214,173,89,.43);
    box-shadow:0 12px 34px rgba(0,0,0,.42);
  }

  #trinityCinematicHero .trinity-v46-proof>div{
    min-width:0;
    display:grid;
    grid-template-columns:38px 1fr;
    align-items:center;
    gap:10px;
    padding:13px 15px;
    border-right:1px solid rgba(214,173,89,.2);
  }

  #trinityCinematicHero .trinity-v46-proof>div:last-child{
    border-right:0;
  }

  #trinityCinematicHero .trinity-v46-proof>div>span{
    color:var(--v46-gold);
    font-size:28px;
    text-align:center;
  }

  #trinityCinematicHero .trinity-v46-proof p{
    min-width:0;
    margin:0;
    display:grid;
    gap:5px;
  }

  #trinityCinematicHero .trinity-v46-proof b{
    color:#ddc181;
    font:700 10px/1.05 Georgia,"Times New Roman",serif;
    letter-spacing:.045em;
    text-transform:uppercase;
  }

  #trinityCinematicHero .trinity-v46-proof small{
    color:#a49a8b;
    font:400 8px/1.25 Arial,sans-serif;
  }

  [data-theme="light"] .site-header.trinity-v35-header,
  [data-theme="light"] .trinity-v46-motto-rail,
  [data-theme="light"] .trinity-v46-assurance-rail{
    background:#0a0806!important;
  }
}

@media (min-width:701px) and (max-width:1120px){
  .trinity-v46-motto-rail{
    padding-inline:24px;
    font-size:8px;
  }

  .trinity-v35-shell{
    grid-template-columns:180px minmax(0,1fr)!important;
    padding-inline:14px!important;
  }

  .trinity-v35-brand img{
    width:158px!important;
  }

  .trinity-v35-bubble{
    font-size:.54rem!important;
    padding-inline:4px!important;
  }

  .trinity-v35-menu{
    left:-166px!important;
  }

  .trinity-v46-assurance-rail{
    width:calc(100% - 30px);
    padding-left:64px;
  }

  .trinity-v46-assurance-rail>div{
    padding-inline:10px;
  }

  .trinity-v46-assurance-rail small{
    display:none;
  }

  #trinityCinematicHero .trinity-v43-hero-logo{
    right:41%!important;
  }

  #trinityCinematicHero .trinity-knight-stage,
  #trinityCinematicHero #brandHeroStage{
    right:2%!important;
  }

  #trinityCinematicHero .trinity-v46-proof{
    left:2%;
    right:2%;
  }

  #trinityCinematicHero .trinity-v46-proof>div{
    padding-inline:9px;
  }
}
