/* WordPress integration, commerce and accessibility. Prototype rules remain intact. */
body.page{display:block;animation:none}
html:not(.js) .rv{opacity:1;transform:none}
html:not(.js) .imgrv img{transform:none}
[hidden]{display:none!important}
.skip-link{position:fixed;top:10px;left:10px;z-index:100000;background:var(--bone);padding:12px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
#main-content{scroll-margin-top:90px}
:root{--admin-offset:0px}
body.admin-bar{--admin-offset:32px}
body.admin-bar #hdr{top:var(--admin-offset)}
body.admin-bar .h2stick,body.admin-bar .pinstick{top:var(--admin-offset);height:calc(100svh - var(--admin-offset))}
body.admin-bar [style*="top:110px"]{top:calc(110px + var(--admin-offset))!important}
body.menu-open{overflow:hidden}
body.menu-open #hdr{z-index:220;background:transparent;border-color:transparent;color:var(--bone)}
body.menu-open .brand{visibility:hidden}
.mmenu{overflow-y:auto;padding-top:90px}
.mmenu nav a{font-size:clamp(30px,7vw,48px)}
.mmenu nav{gap:5px}
.mmenu-foot{margin-top:24px}
.pagewipe.depart{animation:none;transform:scaleY(1);transform-origin:bottom;transition:transform .43s cubic-bezier(.77,0,.18,1);pointer-events:auto}
html.wipe-arrival .pagewipe{animation:none;transform:scaleY(1)}
.pagewipe{transition:transform .55s cubic-bezier(.77,0,.18,1)}
.training-panels .way{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,5vw,80px);align-content:center;transform:none}
.training-panels .way .ph{grid-column:1;grid-row:1/6;margin:0;aspect-ratio:4/5}
.training-panels .way .top,.training-panels .way h3,.training-panels .way >p,.training-panels .way .tlink{grid-column:2}
.training-panels .way h3{font-size:clamp(32px,4vw,60px);margin-top:24px}
.training-panels .way .tlink{justify-self:start;align-self:start}
.training-panels .way >p{max-width:44ch}
.h2type h1{font-size:clamp(52px,7.5vw,120px)}
.h2type h1 .rot{line-height:1.15;padding-right:.08em}
.native-page{padding-top:170px}
.page-title{font-size:clamp(52px,8vw,120px);margin:20px 0 40px}
.page-title em{font-weight:400;color:var(--timber)}
.journal-entry{max-width:1100px}
.journal-entry>article>img{height:auto;margin:30px 0}
.entry-content p{margin:0 0 24px}
.entry-content h2,.j-card h2{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.15;margin:22px 0}
.entry-content ul,.entry-content ol{padding-left:24px;margin-bottom:24px}
.entry-content img{height:auto}
.ghl-form{width:100%;min-height:1050px;border:0;margin-top:38px}
.fform [disabled]{cursor:not-allowed}
.fform .form-note{opacity:.8}
.woocommerce img{height:auto}
.woocommerce .pdp img,.woocommerce .prod img{height:100%}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:17px 26px;line-height:1.4;transition:background .3s}
.woocommerce .button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--timber);color:var(--bone)}
.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--ink)}
.woocommerce .quantity .qty{width:70px;min-height:48px;background:transparent;border:1px solid var(--line);font:inherit;color:var(--ink)}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{font:inherit;color:var(--ink);background:var(--bone);border:1px solid var(--line);border-radius:0;padding:12px;max-width:100%}
.woocommerce .variations th{text-align:left;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.woocommerce .variations td{padding:8px 0 20px 16px}
.woocommerce .variations select{min-width:150px}
.woocommerce div.product form.cart{margin:28px 0}
.woocommerce div.product form.cart .button{float:none}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{background:var(--paper);color:var(--ink);border-color:var(--timber);font-size:14px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--timber)}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0}
.woocommerce table.shop_table th{font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.woocommerce table.shop_table td{border-top-color:var(--line);padding:18px 12px}
.woocommerce-cart table.cart img{width:75px;height:94px;object-fit:cover}
.woocommerce #payment{background:var(--paper);border-radius:0}
.woocommerce #payment div.payment_box{background:var(--bone)}
.woocommerce .cart-collaterals h2,.woocommerce-checkout h3{font-family:var(--serif);font-size:36px;font-weight:500;margin-bottom:24px}
.woocommerce .col2-set{margin-bottom:40px}
.woocommerce .form-row label{font-size:11px;letter-spacing:.08em}
.woocommerce .woocommerce-breadcrumb{display:none}
.pdp-info .price{font-size:14px;color:var(--ink)}
.pdp-info .cart{display:block}
.pdp .pdp-gal{position:sticky;top:110px}
.commerce-links{display:flex;gap:24px;margin-top:36px}
.woocommerce .shop-grid{grid-template-columns:repeat(2,1fr);max-width:1040px}
.woocommerce a.remove{color:var(--ink)!important}
.woocommerce a.remove:hover{background:var(--ink);color:var(--bone)!important}
@media(max-width:782px){body.admin-bar{--admin-offset:46px}}
@media(max-width:760px){
 .h2type h1{font-size:clamp(42px,9vw,68px)}
 .training-panels .way{display:block}
 .training-panels .way .ph{aspect-ratio:16/11;margin-bottom:24px}
 .tab{padding:14px 16px;font-size:10px}
 .pdp .pdp-gal{position:static}
 .woocommerce .shop-grid{grid-template-columns:1fr}
 .native-page{padding-top:130px}
}
@media(max-width:600px){body.admin-bar #wpadminbar{position:fixed}}
@media(prefers-reduced-motion:reduce){
 .h2f{animation:none!important;opacity:0;transform:none}
 .h2f.f1{opacity:1}
 .h2media,.h2type,[data-plx]{transform:none!important}
 .h2type{opacity:1!important}
 .h2type h1 .ln{transform:none}
 .hero-arch{opacity:.95}
 .tk,.spin,.mrow{animation:none!important}
 .pagewipe{display:none}
}

.pagewipe{transform-origin:top}
.pagewipe.depart span,html.wipe-arrival .pagewipe span{opacity:1}
.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px)}
.woocommerce .form-row{margin-bottom:20px}
.woocommerce .form-row label{display:block;margin-bottom:7px}
.woocommerce .form-row .input-text{width:100%}
.woocommerce table{width:100%;border-collapse:collapse}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end;margin-top:40px}
.woocommerce .cart_totals{width:min(100%,520px)}
.woocommerce .cart_totals .checkout-button{display:block;text-align:center;margin-top:24px}
.woocommerce table.cart .product-thumbnail{width:110px}
.woocommerce table.cart .actions{text-align:right}
.woocommerce .coupon{float:left}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{padding:20px;margin-bottom:24px;border-top:2px solid var(--timber);list-style:none}
.woocommerce .woocommerce-message .button{float:right;margin-left:20px}
.woocommerce #payment{padding:26px;margin-top:28px}
.woocommerce #payment ul{list-style:none}
.woocommerce #payment .place-order{margin-top:24px}
.woocommerce .woocommerce-privacy-policy-text{font-size:13px;max-width:65ch;margin-bottom:24px}
.woocommerce .select2-container .select2-selection--single{height:48px;border:1px solid var(--line);background:var(--bone);border-radius:0}
.woocommerce .select2-container .select2-selection__rendered{line-height:46px;padding-left:12px}
.woocommerce .select2-container .select2-selection__arrow{height:46px}
.woocommerce .reset_variations{display:inline-block;font-size:11px;margin-left:12px}
.woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center}
.woocommerce .woocommerce-variation-price{margin-bottom:14px}
.woocommerce .woocommerce-variation-price:empty{display:none}
@media(max-width:760px){
 .woocommerce .col2-set{grid-template-columns:1fr}
 .woocommerce table.cart .product-thumbnail{display:none}
 .woocommerce table.cart th,.woocommerce table.cart td{padding:12px 6px;font-size:12px}
 .woocommerce .coupon{float:none;display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
 .woocommerce .coupon input{width:130px}
 .woocommerce .woocommerce-message .button{float:none;display:inline-block;margin:0 0 12px}
}
.tabs{overflow-y:hidden}
@media(max-width:1060px){.nav{grid-template-columns:1fr auto}.navcta{grid-column:2}}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.woocommerce .variations td{display:block;padding-left:0}
.woocommerce .variations th{display:block}
.woocommerce .variations select.screen-reader-text{min-width:0}
#hdr.on-dark:not(.scrolled) .navcta .btn{color:var(--bone);border-color:var(--bone)}
#hdr.on-dark a:focus-visible,.mmenu a:focus-visible,.mmenu button:focus-visible,footer.site a:focus-visible{outline-color:var(--bone)}

/* Approved Training dropdown: prototype .dd geometry and motion remain in praxis.css. */
#hdr, #hdr .nav, #hdr .navlinks { overflow: visible; }
.navlinks .dd-t { display:block; padding:6px 0; border:0; background:none; color:inherit; font-family:var(--sans); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:500; line-height:inherit; opacity:.75; transition:opacity .3s; cursor:pointer; }
.navlinks .dd-t:hover, .navlinks .dd-t:focus-visible, .navlinks .dd-t.active { opacity:1; }
.navlinks .dd-m { z-index:1; min-width:224px; }
.navlinks .dd-m a { white-space:nowrap; }
#hdr .navlinks .dd-m a:focus-visible { opacity:1; background:var(--paper); outline:2px solid var(--ink); outline-offset:-3px; }
.navlinks .dd.is-open .dd-m { opacity:1; visibility:visible; transform:none; }
.navlinks .dd.is-dismissed .dd-m { opacity:0; visibility:hidden; transform:translateY(8px); }

/* Application feedback uses the existing form typography and confirmation component. */
.application-errors { border:1px solid var(--ink); padding:20px; margin-bottom:26px; font-size:14px; }
.application-errors ul { padding-left:20px; margin-top:10px; }
.application-errors a { text-decoration:underline; }
.field-error { margin-top:8px; font-size:12px; line-height:1.5; }
.fform .confirm { margin-bottom:26px; }

/* Keep form anchors and validation feedback below the fixed header and admin bar. */
#tourform, #tourform [data-form-feedback], #tourform input, #tourform select, #tourform textarea { scroll-margin-top:calc(96px + var(--admin-offset)); }
