/* NÉP Select 1.7 · Mobile quality pass, journal alignment, checkout and product detail. */
:root{--nep-shadow:0 22px 70px rgba(24,32,27,.14)}
html,body{max-width:100%}
body{overflow-x:clip}
.container,.generic-page__wrap,.shop-shell .container{width:100%;min-width:0}
/* Journal archive uses the very same grid width and padding as the navbar. */
.journal-archive .generic-page__wrap{max-width:var(--max)!important;width:100%}
.journal-archive{padding-top:54px}
.journal-grid--archive{gap:35px 22px}
.journal-card__visual{background:#e9eae6;aspect-ratio:1.38;overflow:hidden}
.journal-card__visual img,.journal-article__image img{width:100%;height:100%;object-fit:cover}
.journal-card__details h3{overflow-wrap:anywhere}
.journal-article__shell{max-width:var(--max);width:100%}
.journal-article__header{margin-left:0;margin-right:0;max-width:810px;text-align:left}
.journal-article__excerpt{margin-left:0}
.journal-article__content,.journal-article__footer{margin-left:0;margin-right:0;max-width:800px}
.journal-article__image{margin-left:0;margin-right:0;max-width:1060px;aspect-ratio:1.87;overflow:hidden;background:#eceee9}
.journal-article__image img{max-height:none}
/* Distinct, accessible hamburger instead of the generic icon. */
.nep-hamburger{width:23px;height:18px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;pointer-events:none}
.nep-hamburger i{display:block;width:23px;height:1.8px;border-radius:2px;background:#202a23;transition:transform .23s ease,opacity .15s ease,width .2s ease}
.nep-hamburger i:nth-child(2){width:17px}
.mobile-menu-toggle[aria-expanded="true"] .nep-hamburger i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] .nep-hamburger i:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] .nep-hamburger i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.nep-drawer-heading{display:none}
.nep-menu-backdrop[hidden]{display:none!important}
/* WooCommerce product tabs: no overlapping floating labels. */
.woocommerce div.product .woocommerce-tabs{clear:both;min-width:0;width:100%;margin-top:54px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex!important;flex-wrap:wrap;align-items:center;gap:7px 18px;overflow:visible!important;padding:0!important;margin:0 0 26px!important;border-bottom:1px solid #e6e8e3}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 2px 14px!important;font-size:13px;font-weight:500;color:#69736a;line-height:1.4;white-space:nowrap;position:relative}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#24382a!important;font-weight:700}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#263c2c}
.woocommerce div.product .woocommerce-tabs .panel{width:100%;min-width:0;overflow-wrap:anywhere}
.woocommerce div.product .woocommerce-tabs .panel table{max-width:100%;overflow-wrap:anywhere}
.woocommerce .woocommerce-Reviews,.woocommerce .woocommerce-Reviews *{max-width:100%}
.woocommerce div.product form.variations_form .single_variation_wrap .woocommerce-variation-price{margin:10px 0 15px;display:block}
.woocommerce div.product form.variations_form .single_variation_wrap .woocommerce-variation-price .price{font-size:21px;font-weight:700}
/* The original generic 900px reading column must never constrict cart or checkout. */
.generic-page.shop-shell .generic-page__wrap{max-width:var(--max)!important;width:100%}
.generic-page.shop-shell .entry-content{width:100%;max-width:none;min-width:0}
/* Native checkout voucher selection */
.nep-checkout-offers{margin:22px 0 28px;padding:23px 22px;background:#f8f9f6;border:1px solid #e0e5df;border-radius:9px;clear:both}
.nep-checkout-offers__head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:9px}
.nep-checkout-offers__head h2{font-size:23px;letter-spacing:-.045em;margin:5px 0 0}
.nep-checkout-offers__count{font-size:11px;color:#5d695f;white-space:nowrap}
.nep-checkout-offers__note,.nep-checkout-offers__foot{font-size:12px;color:#657067;line-height:1.6}
.nep-checkout-offers__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 12px}
.nep-checkout-offer{min-width:0;display:flex;align-items:center;gap:9px;justify-content:space-between;background:#fff;border:1px solid #e0e3de;border-radius:6px;padding:12px 13px}
.nep-checkout-offer__body{min-width:0;display:flex;flex-direction:column;gap:1px}
.nep-checkout-offer__body strong{font-size:13px;letter-spacing:.03em;overflow-wrap:anywhere}
.nep-checkout-offer__value{font-size:13px;color:#304e36;font-weight:650}
.nep-checkout-offer__body small{font-size:10px;line-height:1.4;color:#727a72}
.nep-checkout-offer__apply{flex:0 0 auto;border:1px solid #26372b;color:#26372b;background:#fff;border-radius:5px;min-height:38px;padding:0 12px;font-weight:650;font-size:11px;cursor:pointer}
.nep-checkout-offer__apply:hover,.nep-checkout-offer__apply:focus-visible{background:#26372b;color:#fff}
.nep-checkout-offer__apply:disabled{opacity:.6;cursor:progress}
.nep-checkout-offers--block{margin-bottom:24px}
/* SweetAlert2 adopts this site's visual language. Native toast is a safe offline fallback. */
.nep-swal-popup{font-family:var(--font)!important;border-radius:12px!important;box-shadow:var(--nep-shadow)!important}
.nep-swal-title{font-size:15px!important;font-weight:650!important}
.nep-swal-confirm{background:#26362c!important;border-radius:6px!important}
.nep-toast-fallback{position:fixed;top:17px;right:18px;z-index:100010;max-width:min(360px,calc(100vw - 30px));padding:13px 18px;border-radius:9px;box-shadow:var(--nep-shadow);background:#26362c;color:#fff;font-weight:600;font-size:13px;line-height:1.6;animation:nep-toast-in .2s ease both}
.nep-toast-fallback.is-error{background:#90352f}
@keyframes nep-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){
  .site-header{z-index:95}
  .nep-menu-backdrop:not([hidden]){position:fixed;inset:0;z-index:89;background:rgba(14,21,17,.39);animation:nep-fade-in .18s ease}
  .primary-nav{display:block!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateX(-105%);position:absolute!important;left:0!important;right:auto!important;top:100%!important;width:min(370px,calc(100vw - 46px));min-width:0;max-height:calc(100dvh - 105px)!important;height:auto;min-height:300px;overflow-y:auto;overscroll-behavior:contain;background:#fff!important;padding:20px 23px 30px!important;border-top:0!important;box-shadow:var(--nep-shadow)!important;transition:transform .23s cubic-bezier(.2,.7,.3,1),opacity .23s ease,visibility .23s!important;z-index:111}
  .primary-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateX(0)}
  .nep-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 0 15px;border-bottom:1px solid #ebeee9;color:#8c968b;font-size:11px;letter-spacing:.12em}
  .nep-drawer-close{border:0;background:none;width:36px;height:36px;padding:0;font-size:26px;line-height:1;color:#26362b}
  .nav-list{display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important}
  .nav-list>li>a{display:block!important;padding:14px 2px!important;border:0!important;border-bottom:1px solid #eff0ed!important;font-size:15px!important;font-weight:500!important;line-height:1.5;white-space:normal!important}
  .nav-list>li.current-menu-item>a{font-weight:700!important;color:#263b2b!important}
  .nav-list .sub-menu{position:static!important;padding:2px 0 9px 15px!important;box-shadow:none!important;border:0!important;background:transparent!important}
  .nav-list .sub-menu a{padding:8px 2px;font-size:13px}
  body.nep-menu-open{overflow:hidden}
}
@keyframes nep-fade-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){
  .container{padding-inline:18px!important}
  .journal-archive{padding-top:32px;padding-bottom:62px}
  .journal-archive__heading{padding:0 0 25px}
  .journal-archive__heading h1{font-size:clamp(32px,9vw,42px)}
  .journal-grid--archive{grid-template-columns:1fr;gap:30px}
  .journal-card__visual{aspect-ratio:1.5}
  .journal-card__details{padding-top:13px}
  .journal-article{padding-top:30px}
  .journal-article__image{aspect-ratio:1.45}
  .journal-article__header h1{font-size:clamp(30px,8vw,43px)}
  .header-inner{gap:6px;grid-template-columns:36px minmax(0,1fr) 110px!important}
  .header-actions{gap:0;justify-content:flex-end}
  .header-actions .icon-button{width:35px;min-width:34px}
  .brand{min-width:0;max-width:100%;overflow:hidden}
  .brand__main{font-size:26px}
  .brand__sub{font-size:7px}
  .primary-nav{min-height:260px;max-height:calc(100dvh - 92px)!important}
  .woocommerce div.product .woocommerce-tabs{margin-top:33px!important}
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b8c2b8 transparent;gap:17px;padding:0 2px 2px!important;margin-bottom:20px!important;-webkit-overflow-scrolling:touch}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{flex:0 0 auto!important;scroll-snap-align:start}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:13px 2px!important;white-space:nowrap;font-size:12px!important}
  .woocommerce div.product .woocommerce-tabs .panel{font-size:13px;line-height:1.8;overflow-x:auto}
  .woocommerce div.product .woocommerce-tabs .panel h2{font-size:21px!important;line-height:1.35}
  .woocommerce div.product .woocommerce-tabs .panel table{font-size:12px;width:100%}
  .woocommerce .woocommerce-product-attributes th,.woocommerce .woocommerce-product-attributes td{padding:10px!important}
  .woocommerce .comment-form .comment-form-author,.woocommerce .comment-form .comment-form-email{width:100%!important;float:none!important}
  .woocommerce div.product .summary form.cart,.woocommerce div.product .summary .single_variation_wrap{max-width:100%}
  .nep-checkout-offers{padding:19px 14px;margin:16px 0 22px}
  .nep-checkout-offers__head h2{font-size:20px}
  .nep-checkout-offers__list{grid-template-columns:minmax(0,1fr);gap:8px}
  .nep-checkout-offer{padding:12px;align-items:center}
  .nep-checkout-offer__apply{min-height:41px}
  .woocommerce .woocommerce-cart-form,.woocommerce .cart-collaterals,.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout,.woocommerce-account{max-width:100%!important;min-width:0!important}
  .woocommerce table.shop_table_responsive,.woocommerce .woocommerce-cart-form__contents{width:100%;table-layout:fixed}
  .woocommerce table.shop_table_responsive tr td,.woocommerce table.shop_table_responsive tr th{overflow-wrap:anywhere}
  .woocommerce table.shop_table_responsive tr td.product-name{font-size:13px;line-height:1.5}
  .woocommerce-cart .woocommerce .cart_totals{float:none}
  .woocommerce-checkout form.checkout .col2-set,.woocommerce-checkout form.checkout #order_review{float:none!important;width:100%!important;min-width:0}
  .woocommerce .form-row-first,.woocommerce .form-row-last{float:none!important;width:100%!important}
  .woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content{float:none!important;width:100%!important}
  .wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{width:100%;max-width:100%;padding:0 18px!important}
  .wc-block-components-main,.wc-block-components-sidebar{min-width:0;max-width:100%}
  .wc-block-components-sidebar-layout{display:block!important}
}
@media(max-width:380px){
  .container{padding-inline:14px!important}
  .header-inner{grid-template-columns:32px minmax(0,1fr) 105px!important}
  .header-actions .icon-button{width:33px;min-width:32px}
  .brand__main{font-size:24px}
  .brand__sub{font-size:6.5px}
  .nep-checkout-offers{padding:15px 11px}
  .nep-checkout-offer{gap:7px}
}
@media(prefers-reduced-motion:reduce){.nep-hamburger i,.primary-nav,.nep-menu-backdrop{transition:none!important;animation:none!important}}
