/* PrimoAmore mobile: readable content, deliberate proportions, touch controls. */
.pa-commerce-page{max-width:1200px;margin:32px auto 56px;padding:24px}
.single-product .pa-product-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"media heading" "media info";gap:0 36px;align-items:start}
.pa-product-heading{grid-area:heading;min-width:0}
.pa-product-heading>.pa-eyebrow{font-size:13px;line-height:1.5;margin:0 0 10px;letter-spacing:.08em}
.pa-product-heading h1{font:400 clamp(40px,4.2vw,65px)/1.06 var(--pa-display);color:#20382b;margin:0 0 18px;overflow-wrap:break-word}
.single-product .pa-product-media{grid-area:media}
.single-product .pa-product-info{grid-area:info;min-width:0;padding-top:0}
body:has(.pa-gallery-dialog[open]){overflow:hidden}
.pa-gallery-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;border-radius:0;background:rgba(250,249,242,.96);color:#20382b;overflow:hidden}
.pa-gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.pa-gallery-dialog::backdrop{background:rgba(243,241,231,.65);backdrop-filter:blur(4px)}
.pa-gallery-dialog header,.pa-gallery-dialog footer{width:100%;max-width:1100px;margin-inline:auto;min-width:0}
.pa-gallery-dialog header p{font-size:18px;line-height:1.35;max-width:65ch}
.pa-gallery-dialog button{font:500 16px/1.25 var(--pa-body);min-height:48px;min-width:48px;border:1px solid #b9c3b4;background:#faf9f2;color:#20382b;border-radius:4px;padding:10px 16px;touch-action:manipulation}
.pa-gallery-dialog button:hover,.pa-gallery-dialog button[aria-pressed="true"]{background:#20382b;color:#fff}
.pa-gallery-dialog button:disabled{opacity:.5;cursor:default}
.pa-gallery-stage{position:relative;min-height:0;min-width:0;overflow:auto;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom;overscroll-behavior:contain}
.pa-gallery-dialog .pa-gallery-stage img{display:block;flex:none;width:auto;height:auto;max-width:100%;max-height:100%;margin:0;object-fit:contain}
.pa-gallery-dialog.is-zoomed .pa-gallery-stage{display:block;touch-action:auto}
.pa-gallery-dialog.is-zoomed .pa-gallery-stage img{max-width:none;max-height:none;margin:0 auto}
.pa-gallery-dialog [data-photo-status]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 18px;background:#faf9f2;border:1px solid #cdd3c6;text-align:center;max-width:90%}
.pa-gallery-dialog [hidden]{display:none!important}
.pa-gallery-dialog footer{flex-wrap:wrap;gap:12px;justify-content:center}
.pa-gallery-dialog footer a{display:inline-flex;min-height:44px;align-items:center;padding:8px}
.pa-gallery-dialog footer span{font-size:16px;min-width:3em;text-align:center}

@media(max-width:800px){
 html{scroll-padding-top:92px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:17px;line-height:1.6}
 body .pa-header,body.home .pa-header{position:sticky;top:0;z-index:100;min-height:72px;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));gap:8px}
 body .pa-header-logo{min-width:0;margin-right:auto}
 body .pa-header-logo img{width:86px}
 body .pa-header .pa-shop-button{min-height:46px;padding:10px 12px;font-size:15px;white-space:nowrap}
 body .pa-header .pa-menu-toggle{width:46px;height:46px;min-width:46px;min-height:46px;flex:none}
 body .pa-header .pa-header-tools a{min-height:46px;min-width:44px}
 body .pa-header .pa-nav{top:100%;left:0;right:0;width:auto;padding:12px max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));max-height:calc(100dvh - 76px);overflow-y:auto;gap:0;box-shadow:0 12px 24px #20382b18}
 body .pa-header .pa-nav>a{display:flex;align-items:center;min-height:50px;padding:10px 0;font-size:18px}
 body .pa-header .pa-nav .pa-mobile-account{display:flex}
 .pa-header-tools a:first-child{display:none}
 body:has(.pa-nav.is-open) .pa-mobile-buy{display:none}
 main :is(section,article,aside)[id]{scroll-margin-top:92px}
 body .pa-commerce-page{width:100%;margin:20px auto 36px!important;padding:0 max(18px,env(safe-area-inset-right)) 20px max(18px,env(safe-area-inset-left))!important;min-width:0}
 .pa-commerce-page>h1{font:400 38px/1.1 var(--pa-display);margin:0 0 24px}
 .pa-commerce-page :is(.col2-set .col-1,.col2-set .col-2){float:none;width:100%;min-width:0}
 .pa-commerce-page :is(input.input-text,select,textarea),.pa-contact-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){font-size:16px!important;min-height:48px;width:100%;max-width:100%;padding:12px;border:1px solid #acb8a4;border-radius:4px;background:#faf9f2;color:#20382b}
 .pa-commerce-page .woocommerce form :is(.form-row-first,.form-row-last){width:100%;float:none}
 .pa-commerce-page .woocommerce form .form-row{padding:0;margin-bottom:18px}
 .pa-commerce-page .woocommerce form :is(label,.woocommerce-input-wrapper){min-width:0}
 .pa-commerce-page .woocommerce form label{font-size:16px;line-height:1.5;margin-bottom:6px}
 .pa-commerce-page .woocommerce form :is(.login,.register),.pa-commerce-page .woocommerce form:is(.login,.register){padding:20px 16px;margin:18px 0 30px;background:#faf9f2}
 .pa-commerce-page .woocommerce h2{font:400 32px/1.15 var(--pa-display);margin:24px 0 16px}
 .pa-commerce-page .woocommerce :is(a.button,button.button){min-height:48px;padding:14px 18px;font-size:17px;line-height:1.3;background:#20382b;color:#fff;border-radius:4px;max-width:100%;white-space:normal;text-align:center}
 .pa-commerce-page .woocommerce button.button.alt{background:#b60b2c}
 .pa-commerce-page .woocommerce .show-password-input{width:48px;height:48px;top:0;right:0}
 .pa-commerce-page .woocommerce .password-input .input-text{padding-right:52px}
 .pa-commerce-page .woocommerce :is(.woocommerce-form-login__submit,.woocommerce-form-register__submit){width:100%;margin:4px 0 12px!important}
 .pa-commerce-page .woocommerce-form__label-for-checkbox{display:inline-flex!important;align-items:center;gap:10px;min-height:44px}
 .pa-commerce-page .woocommerce-form__label-for-checkbox input{width:20px;height:20px}
 .pa-commerce-page .woocommerce-LostPassword a{display:inline-flex;align-items:center;min-height:44px}
 .pa-commerce-page .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){font-size:16px;line-height:1.5;padding:16px 16px 16px 48px;overflow-wrap:anywhere}
 .pa-commerce-page .woocommerce .select2-container .select2-selection--single{height:48px;border:1px solid #acb8a4;background:#faf9f2}
 .pa-commerce-page .select2-selection__rendered{line-height:46px!important;padding-left:12px!important;font-size:16px}
 .pa-commerce-page .select2-selection__arrow{height:46px!important}
 .pa-commerce-page .woocommerce-checkout :is(#order_review_heading,#order_review){width:100%;float:none}
 .pa-commerce-page .woocommerce-checkout #payment ul.payment_methods{padding:16px}
 .pa-commerce-page .woocommerce-checkout #payment div.payment_box{padding:14px;font-size:16px}
 .pa-commerce-page .woocommerce-checkout #payment .place-order{padding:16px}
 .pa-commerce-page #place_order{width:100%;min-height:52px}
 .pa-commerce-page .woocommerce-cart-form :is(.quantity .qty){width:80px;min-height:48px}
 .pa-commerce-page .woocommerce-cart-form a.remove{width:44px;height:44px;line-height:44px}
 .pa-commerce-page .woocommerce-cart-form td.product-name{font-size:17px;line-height:1.45}
 .pa-commerce-page .woocommerce-cart-form td.actions .coupon{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding-bottom:16px}
 .pa-commerce-page .woocommerce-cart-form td.actions #coupon_code{width:100%;float:none;margin:0}
 .pa-commerce-page .woocommerce-cart-form td.actions :is(.coupon .button,button[name=update_cart]){width:100%;float:none}
 .pa-commerce-page .cart-collaterals .cart_totals{width:100%}
 .pa-footer :is(nav a,.pa-footer-social a,.pa-footer-legal a,.pa-footer-legal button){display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
 body .pa-footer-main nav{gap:4px 20px}
 body .pa-footer-social{gap:4px 20px}
 body .pa-footer-legal{gap:4px 16px}
 .pa-cookie-choice{bottom:max(10px,env(safe-area-inset-bottom));max-height:calc(100dvh - 32px);overscroll-behavior:contain}
 .pa-cookie-choice button,.pa-cookie-choice summary{min-height:44px}
 .pa-cookie-choice .pa-cookie-close{min-width:44px;min-height:44px;top:4px;right:4px}
 .pa-cookie-choice summary{display:flex;align-items:center}
 .pa-cookie-choice :focus-visible{outline:2px solid #b60b2c;outline-offset:3px}
 .pa-contact-consent{min-height:48px;padding-block:8px;gap:12px}
 .pa-contact-consent input[type=checkbox]{width:22px;height:22px;min-width:22px;margin-top:2px}
 .pa-contact-form button[type=submit]{width:100%;min-height:52px}
 .pa-contact-form select{padding-right:30px;text-overflow:ellipsis}
}
@media(max-width:650px){
 .home .elementor .e-con.pa-hero-content{display:block;padding:24px 20px}
 .home .pa-hero-crest{display:none}
 .home .elementor .pa-hero-title .elementor-heading-title{font-size:clamp(32px,8.8vw,42px);line-height:1.06;text-align:left;letter-spacing:-.02em}
 .home .elementor .pa-hero-kicker p{font-size:12px!important;line-height:1.5;letter-spacing:.12em;text-align:left;margin:0 0 12px}
 .home .pa-hero-intro{margin-top:18px}
 .home .pa-hero-intro p{font-size:17px;line-height:1.5;text-align:left;margin-bottom:18px}
 .home .pa-hero-actions a{min-height:50px;font-size:17px}
 .home .elementor .pa-hero-photo{aspect-ratio:16/9}
 .home .pa-home-heading{gap:14px;margin-bottom:20px}
 .home .pa-home-heading h2{font-size:32px}
 .home .pa-home-heading>a{min-height:44px}
 .home .pa-home-products{gap:12px}
 .home .pa-home-product{padding:12px}
 .home .pa-home-product-photo,.home .pa-home-product:last-child .pa-home-product-photo{height:150px;margin-bottom:12px}
 .home .pa-home-product h3{font-size:28px;line-height:1.1}
 .home .pa-home-product .pa-eyebrow{font-size:12px;letter-spacing:.06em;min-height:36px}
 .home .pa-home-format{font-size:15px;line-height:1.45}
 .home .pa-home-box-price{font-size:26px;margin-bottom:14px}
 .home .pa-home-outline{min-height:48px;font-size:16px}
 .home .pa-counter-value{font-size:clamp(30px,8vw,40px)}
 body .pa-catalog:has(.pa-catalog-pen),body .pa-commerce:has(.pa-catalog-pen){padding-top:20px}
 body .pa-catalog-pen .pa-catalog-intro{gap:10px;margin-bottom:18px;padding:0}
 body .pa-catalog-pen .pa-catalog-intro h1{font-size:36px;line-height:1.08;margin-bottom:0}
 body .pa-catalog-pen .pa-catalog-intro .pa-eyebrow{margin-bottom:8px;font-size:12px}
 body .pa-catalog-pen .pa-range-lead{font-size:16px;line-height:1.5}
 body .pa-catalog-pen .pa-range-lead p{margin:0 0 8px}
 body .pa-catalog-pen .pa-range-lead .pa-text-link{padding:8px 0;font-size:16px;min-height:44px}
 body .pa-catalog-pen .pa-catalog-tools{gap:10px;margin-bottom:16px}
 body .pa-catalog-pen .pa-catalog-tools label{font-size:14px;letter-spacing:.05em;margin-bottom:6px}
 body .pa-catalog-pen .pa-catalog-tools :is(input,select,button){font-size:16px;min-height:48px}
 body .pa-catalog-pen .pa-catalog-count{font-size:15px;margin-bottom:16px}
 body .pa-catalog-pen .pa-range-section-heading h2{font-size:30px}
 body .pa-catalog-pen .pa-range-section-heading{margin-bottom:16px;padding-bottom:14px;gap:6px}
 body .pa-catalog-pen .pa-range-section-heading p{font-size:16px;line-height:1.5;margin-bottom:0}
 body .pa-catalog-pen .pa-family-photo{height:166px}
 body .pa-catalog-pen .pa-family-card{padding:16px}
 body .pa-catalog-pen .pa-family-card h3{font-size:30px}
 body .pa-catalog-pen .pa-family-description{font-size:16px;line-height:1.5}
 body .pa-catalog-pen .pa-family-card [data-variant]{min-height:46px;min-width:44px;padding:10px;font-size:16px}
 body .pa-catalog-pen .pa-family-card .pa-shop-detail{font-size:17px;min-height:50px}
 .single-product .pa-commerce{padding-top:8px}
 .single-product .pa-back{font-size:15px;min-height:44px;display:inline-flex;align-items:center;margin-bottom:10px}
 .single-product .pa-product-sections{display:none}
 .single-product .pa-product-page{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);grid-template-areas:"media heading" "info info";gap:16px;align-items:center}
 .single-product .pa-product-heading>.pa-eyebrow{font-size:12px;line-height:1.5;margin:0 0 10px;letter-spacing:.06em}
 .single-product .pa-product-heading h1{font-size:clamp(30px,8vw,40px);line-height:1.05;margin:0}
 .single-product .pa-product-visual{height:210px;min-height:0;padding:12px 8px 40px;overflow:hidden}
 .single-product .pa-product-visual>a{height:100%;width:100%}
 .single-product .pa-product-visual img{height:100%;width:100%;object-fit:contain}
 .single-product .pa-photo-label{left:10px;right:10px;bottom:12px;font-size:14px;gap:4px}
 .single-product .pa-photo-label svg{width:16px}
 .single-product .pa-product-summary{font-size:17px;line-height:1.55;margin:0 0 14px}
 .single-product .pa-product-format{display:block;padding:12px 0;margin:0 0 14px}
 .single-product .pa-product-format>span{display:block;margin-bottom:8px;font-size:14px}
 .single-product .pa-format-links{display:flex;flex-wrap:wrap;gap:8px}
 .single-product .pa-format-links a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:48px;font-size:16px;padding:10px 14px}
 .single-product .pa-purchase-panel{padding:16px;margin:14px 0 20px}
 .single-product .pa-purchase-label{font-size:13px;margin-bottom:8px}
 .single-product .pa-purchase-panel .pa-case-total strong{font-size:32px}
 .single-product .pa-purchase-panel .pa-case-unit{font-size:16px}
 .single-product .pa-purchase-panel .pa-case-note{font-size:15px}
 .single-product .pa-purchase-panel .pa-case-selector{padding-top:12px}
 .single-product .pa-case-stepper button,.single-product .pa-case-stepper input{min-height:48px!important;height:48px}
 .single-product .pa-case-stepper button{width:44px}
 .single-product .pa-purchase-panel form.cart{margin-top:14px!important;gap:12px}
 .single-product .pa-product-detail-grid{padding:30px 0;gap:24px}
 .single-product .pa-product-detail-grid h2{font-size:32px}
 .single-product .pa-product-detail-grid p{font-size:17px;line-height:1.6}
 .single-product .pa-pairings{padding:32px 0}
 .single-product .pa-gallery-thumbs{gap:6px}
 .single-product .pa-gallery-thumbs a{width:48px;height:58px}
 .pa-gallery-dialog{padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));gap:8px}
 .pa-gallery-dialog header{align-items:start;gap:10px}
 .pa-gallery-dialog header p{font-size:16px;padding-top:12px;line-height:1.3}
 .pa-gallery-dialog [data-close]{font-size:16px;padding:10px 12px}
 .pa-gallery-dialog footer{gap:8px}
 .pa-gallery-dialog footer a{width:100%;justify-content:center}
 .pa-mobile-buy:not([hidden]){padding-top:10px;gap:10px}
 .pa-mobile-buy button{min-height:50px;padding:12px;font-size:16px;max-width:56%}
 .pa-mobile-buy strong{font-size:22px}
 .pa-mobile-buy small{font-size:14px}
 .pa-line-hero{gap:20px;padding-top:0}
 .pa-line-hero h1{font-size:46px}
 .pa-line-hero .pa-line-intro{font-size:18px;line-height:1.55}
 .pa-line-hero figure{padding:16px}
 .pa-line-hero figure img{height:210px}
 .pa-line-products .pa-case-total>span,.pa-line-products .pa-case-unit{font-size:16px}
 .pa-line-products article{padding:16px}
 .pa-line-questions summary{min-height:48px;font-size:18px}
}
@media(max-width:360px){
 body .pa-header,body.home .pa-header{gap:4px;padding-inline:12px}
 body .pa-header-logo img{width:76px}
 body .pa-header .pa-shop-button{padding:10px;font-size:14px}
 .home .pa-home-products{grid-template-columns:1fr}
 .home .pa-home-product{display:grid;grid-template-columns:95px minmax(0,1fr);gap:6px 14px;padding:16px}
 .home .pa-home-product-photo,.home .pa-home-product:last-child .pa-home-product-photo{grid-column:1;grid-row:1/6;height:180px;margin:0}
 .home .pa-home-product>:not(.pa-home-product-photo){grid-column:2}
 .home .pa-home-product .pa-eyebrow{min-height:0;margin:0}
 .home .pa-home-product h3{margin:0}
 .home .pa-home-format,.home .pa-home-box-price{margin:0}
 .home .pa-home-box-price small{margin-top:0}
 .single-product .pa-product-page{grid-template-columns:110px minmax(0,1fr);gap:12px}
 .single-product .pa-product-heading h1{font-size:30px}
 .single-product .pa-case-selector{grid-template-columns:1fr}
 .single-product .pa-case-stepper{justify-self:start}
 .pa-mobile-buy{gap:8px}
}
@media(max-height:500px) and (orientation:landscape){
 body .pa-header,body.home .pa-header{position:relative}
 .pa-mobile-buy:not([hidden]){display:none}
 body.pa-has-mobile-buy{padding-bottom:0}
 .pa-gallery-dialog[open]{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:8px 16px}
 .pa-gallery-dialog header{grid-column:1/-1}
 .pa-gallery-stage{grid-column:1;grid-row:2}
 .pa-gallery-dialog footer{grid-column:2;grid-row:2;max-width:150px;align-self:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:650px){.pa-mobile-buy-edit{display:block;min-width:0;min-height:48px;max-width:48%;color:#20382b}.pa-mobile-buy-edit small{text-decoration:underline;text-underline-offset:3px}.pa-mobile-buy-edit:focus-visible{outline:2px solid #b60b2c;outline-offset:3px}}
@media(max-width:800px){
 .pa-commerce-page .woocommerce .password-input{position:relative;display:block}
 .pa-commerce-page .woocommerce .show-password-input{position:absolute;inset:0 0 auto auto;display:grid;place-items:center;width:48px;height:48px;padding:0;margin:0;line-height:1;transform:none}
 .pa-commerce-page .woocommerce .show-password-input::after{margin:0}
}
@media(max-width:650px){
 .single-product .pa-product-visual{height:180px}
 .single-product .pa-product-page{row-gap:12px}
 .single-product .pa-product-format:has(.pa-format-links>a:only-child){display:flex;align-items:center;gap:16px}
 .single-product .pa-product-format:has(.pa-format-links>a:only-child)>span{margin:0}
}

/* Keep the disabled update button readable; Woo inherits the table text colour. */
.pa-commerce-page .woocommerce button.button:disabled,
.pa-commerce-page .woocommerce button.button:disabled[disabled]{color:#fff!important;background:#526451;opacity:.65;cursor:not-allowed}
@media(max-width:800px){
 .pa-commerce-page .woocommerce-cart-form td.product-name{text-align:left!important}
 .pa-commerce-page .woocommerce-cart-form td.product-name::before{float:none;display:block;margin-bottom:8px}
 .pa-commerce-page .woocommerce-cart-form td.product-name>a{font-size:17px;line-height:1.4;text-transform:none}
 .pa-commerce-page .woocommerce-cart-form td.product-name dl.variation{font-size:15px;line-height:1.5;margin-top:14px}
}
