/* Dedicated product page. Shared pharmacy styles remain in style.css. */
.shop-page { --shop-ink:#18352e; --shop-muted:#52645f; --shop-green:#315b49; --shop-blue:#2363d5; --shop-line:#dce5df; --shop-paper:#f7f8f3; --shop-heading-space:65px; background:#fff; }
.shop-page .shop-main { color:var(--shop-ink); letter-spacing:0; }
.shop-page .shop-main * { box-sizing:border-box; }
/* Responsive image sizes must settle immediately before fragment scrolling. */
.shop-page .shop-main img { transition:none; }
.shop-page .shop-main section { padding:0; }
.shop-page .shop-wrap { width:min(1240px, calc(100% - 64px)); margin-inline:auto; }
.shop-page .shop-main h1,.shop-page .shop-main h2,.shop-page .shop-main h3 { font-family:'Livvic',sans-serif; color:var(--shop-ink); letter-spacing:-.045em; }
.shop-page .shop-main h1 { font-size:clamp(36px,4.3vw,64px); line-height:1.12; font-weight:500; }
.shop-page .shop-main h2 { font-size:clamp(28px,3vw,42px); line-height:1.2; font-weight:500; }
.shop-page .shop-main h3 { font-size:25px; line-height:1.25; font-weight:600; }
.shop-page .shop-main p { line-height:1.75; }
.shop-page .shop-main a:not(.shop-button) { color:var(--shop-green); }
.shop-page .shop-main :is(a,button,input,select,summary):focus-visible,.shop-page .shop-skip:focus-visible { outline:3px solid #2363d5 !important; outline-offset:4px; }
.shop-page .shop-skip { position:absolute; top:-100px; left:16px; background:#fff; padding:14px 20px; z-index:2000; }
.shop-page .shop-skip:focus { top:8px; }
.shop-page .shop-eyebrow { margin:0 0 20px; font-size:12px; line-height:1.5; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:var(--shop-green); }
.shop-page .shop-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:13px; margin:0; padding:25px 0; list-style:none; color:var(--shop-muted); }
.shop-page .shop-breadcrumb li+li::before { content:'/'; padding-right:10px; color:#7a8981; }
.shop-page .shop-hero { background:var(--shop-paper); border-bottom:1px solid var(--shop-line); }
.shop-page .shop-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; align-items:center; padding:25px 0 65px; }
.shop-page .shop-hero h1 em { font-style:normal; color:var(--shop-blue); }
.shop-page .shop-hero-lead { max-width:480px; color:var(--shop-muted); font-size:17px; margin:25px 0 30px; }
.shop-page .shop-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:23px; }
.shop-page .shop-text-link { font-size:14px; font-weight:600; border-bottom:1px solid #7f9387; padding-bottom:3px; }
.shop-page .shop-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:14px 23px; border:1px solid transparent; border-radius:8px; font:600 15px/1.4 'Livvic',sans-serif; color:#fff; background:var(--shop-blue); cursor:pointer; text-align:center; transition:background .2s,transform .2s; }
.shop-page .shop-button:hover:not(:disabled) { background:#194fae; color:#fff; transform:translateY(-1px); }
.shop-page .shop-button:disabled { background:#e5eae6; color:#50635a; cursor:not-allowed; transform:none; }
.shop-page .shop-button svg { width:20px; height:20px; flex-shrink:0; }
/* WhatsApp brand outline from the existing Line Awesome Brands font. */
.shop-page .shop-main .shop-whatsapp-icon { fill:currentColor; stroke:none; }
.shop-page .shop-service-strip .shop-whatsapp-icon { color:var(--shop-green); }
.shop-page .shop-hero-display { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,2vw,20px); align-items:start; min-width:0; }
.shop-page .shop-hero-tile { margin:0; min-width:0; }
.shop-page .shop-hero-tile>a { display:block; }
.shop-page .shop-hero-photo { border-radius:110px 110px 12px 12px; overflow:hidden; background:#e9eee6; aspect-ratio:4/5; }
.shop-page .shop-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.shop-page .shop-hero-photo--supplement { background:#eef1f3; }
.shop-page .shop-hero-photo--supplement img { object-fit:contain; mix-blend-mode:multiply; padding:12px; }
.shop-page .shop-hero-tile figcaption { margin-top:13px; display:flex; flex-direction:column; gap:4px; font-size:13px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.shop-page .shop-hero-tile figcaption span { color:#6c7a72; font-size:11px; font-weight:400; }
.shop-page .shop-hero-tile .shop-stock-label { align-self:flex-start; max-width:100%; margin-top:3px; padding:5px 8px; border:1px solid #e5cfaa; border-radius:5px; background:#fff4df; color:#765018; font-weight:600; }
.shop-page .shop-service-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:24px 0; border-bottom:1px solid var(--shop-line); }
.shop-page .shop-service-strip div { display:flex; gap:12px; align-items:center; font-size:13px; }
.shop-page .shop-service-strip svg { width:23px; height:23px; stroke:var(--shop-green); flex-shrink:0; }
.shop-page .shop-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding:var(--shop-heading-space) 0 30px; }
/* Align the visible heading, excluding its decorative top spacing, below the measured fixed header. */
.shop-page #prodotti { scroll-margin-top:calc(var(--site-anchor-offset) - var(--shop-heading-space)); }
.shop-page .shop-section-heading .shop-eyebrow { margin-bottom:12px; }
.shop-page .shop-section-heading h2 { margin:0; }
.shop-page .shop-section-heading>p { color:var(--shop-muted); max-width:360px; font-size:14px; margin:0; }
.shop-page .shop-products { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.shop-page .shop-product { border:1px solid var(--shop-line); border-radius:16px; overflow:hidden; background:#fff; }
.shop-page .shop-product-visual { position:relative; margin:0; background:#f1f3ec; }
.shop-page .shop-product-visual--blue { background:#f0f3f6; }
.shop-page .shop-product-visual>img { display:block; width:100%; height:340px; object-fit:contain; padding:30px; mix-blend-mode:multiply; }
.shop-page .shop-product-visual .shop-product-matriche { object-fit:cover; padding:0; width:100%; height:340px; object-position:50% 48%; }
.shop-page .shop-product-visual .shop-product-matriche { max-width:330px; margin:auto; }
.shop-page .shop-product-type { position:absolute; top:20px; left:20px; background:#fff; border-radius:5px; padding:8px 12px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; z-index:1; }
.shop-page .shop-photo-caption { padding:8px 22px; margin:0; font-size:11px; line-height:1.5; text-align:center; color:#5b685f; background:#f7f8f5; }
.shop-page .shop-product-copy { padding:30px; }
.shop-page .shop-product-kicker { display:flex; justify-content:space-between; gap:15px; margin-bottom:10px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--shop-muted); }
.shop-page .shop-product h3 { margin:0 0 12px; font-size:30px; }
.shop-page .shop-product-description { color:var(--shop-muted); font-size:15px; margin:0 0 16px; min-height:105px; }
.shop-page .shop-features { display:flex; gap:8px; flex-wrap:wrap; padding:0; margin:0 0 22px; list-style:none; }
.shop-page .shop-features li { padding:6px 9px; font-size:11px; border:1px solid var(--shop-line); border-radius:4px; color:var(--shop-muted); }
.shop-page .shop-price { display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; margin:0 0 18px; }
.shop-page .shop-price strong { font-size:31px; line-height:1.2; letter-spacing:-.04em; font-weight:600; }
.shop-page .shop-price del { color:#6c746e; font-size:17px; }
.shop-page .shop-price small { color:var(--shop-muted); font-size:12px; }
.shop-page .shop-stock-notice { margin:0 0 18px; padding:12px 16px; border:1px solid #e5cfaa; border-left:3px solid #a16b23; border-radius:6px; background:#fff4df; color:#765018; font-size:14px; }
.shop-page .shop-offer { background:#f1f5ed; border-left:3px solid #718654; padding:13px 16px; font-size:13px; line-height:1.65; margin:0 0 22px; }
.shop-page .shop-offer strong { display:block; font-size:14px; }
.shop-page .shop-offer--blue { background:#f0f5fc; border-color:#2363d5; }
.shop-page .shop-add-form { display:flex; gap:12px; align-items:end; margin:0 0 15px; }
.shop-page .shop-add-form label { display:block; font-size:12px; font-weight:600; margin:0 0 7px; }
.shop-page .shop-select { appearance:auto; background:#fff; border:1px solid #aebdb3; border-radius:7px; min-height:52px; max-width:100%; padding:10px 28px 10px 12px; color:var(--shop-ink); font:500 14px/1.5 'Livvic',sans-serif; }
.shop-page .shop-select:disabled { background:#f0f3f0; color:var(--shop-muted); cursor:not-allowed; opacity:1; }
.shop-page .shop-add-form .shop-button { flex:1; }
.shop-page .shop-purchase-note { font-size:12px; color:var(--shop-muted); margin:0 0 24px; }
.shop-page .shop-purchase-note a { text-decoration:underline !important; text-underline-offset:3px; }
.shop-page .shop-details { border-top:1px solid var(--shop-line); }
.shop-page .shop-details:last-child { border-bottom:1px solid var(--shop-line); }
.shop-page .shop-details summary { position:relative; cursor:pointer; font-size:14px; font-weight:600; list-style:none; padding:17px 28px 17px 0; line-height:1.5; }
.shop-page .shop-details summary::-webkit-details-marker { display:none; }
.shop-page .shop-details summary::after { content:'+'; position:absolute; right:2px; top:12px; font-size:24px; font-weight:400; color:var(--shop-green); }
.shop-page .shop-details[open] summary::after { content:'−'; }
.shop-page .shop-details-content { padding:0 0 20px; color:var(--shop-muted); font-size:13px; line-height:1.8; overflow-wrap:normal; }
.shop-page .shop-details-content p { margin:0 0 14px; }
.shop-page .shop-details-content p:last-child { margin:0; }
.shop-page .shop-details-content ol { padding-left:20px; margin:0; }
.shop-page .shop-details-content li { margin-bottom:8px; }
.shop-page .shop-inci { font-size:12px; }
.shop-page .shop-specs { display:grid; grid-template-columns:110px 1fr; gap:8px 16px; margin:0; }
.shop-page .shop-specs dt { font-weight:600; }
.shop-page .shop-specs dd { margin:0; }
.shop-page .shop-warning { background:#fcf7ec; border-radius:6px; padding:14px; font-size:12px; line-height:1.7; margin-bottom:15px; color:#695524; }
.shop-page .shop-nutrition { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.shop-page .shop-nutrition caption { caption-side:top; color:var(--shop-muted); padding:0 0 10px; font-size:12px; }
.shop-page .shop-nutrition th,.shop-page .shop-nutrition td { padding:8px 6px; border-bottom:1px solid var(--shop-line); vertical-align:top; overflow-wrap:normal; }
.shop-page .shop-nutrition thead th { color:var(--shop-ink); background:#f1f5f0; }
.shop-page .shop-nutrition th:first-child { width:52%; text-align:left; }
.shop-page .shop-nutrition td { text-align:right; }
.shop-page .shop-nutrition thead th:not(:first-child) { text-align:right; }
.shop-page .shop-nutrition .shop-sub-row th { padding-left:16px; font-weight:400; }
.shop-page .shop-main .shop-order-section { margin-top:65px; padding:60px 0; background:#edf3ee; }
.shop-page .shop-order-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.shop-page .shop-order-intro h2 { max-width:400px; }
.shop-page .shop-order-intro>p:not(.shop-eyebrow) { font-size:15px; color:var(--shop-muted); max-width:390px; }
.shop-page .shop-order-steps { list-style:none; padding:0; margin:30px 0 0; counter-reset:order; }
.shop-page .shop-order-steps li { display:flex; gap:15px; margin-bottom:20px; font-size:14px; line-height:1.6; }
.shop-page .shop-order-steps li::before { counter-increment:order; content:counter(order,decimal-leading-zero); font-size:12px; color:var(--shop-green); border-top:1px solid #91a496; padding-top:7px; min-width:30px; }
.shop-page .shop-order-steps strong { display:block; }
.shop-page .shop-order-steps span { color:var(--shop-muted); }
.shop-page .shop-order-panel { background:#fff; border:1px solid #d2dfd5; border-radius:14px; padding:30px; box-shadow:0 15px 35px #1d3c2710; }
.shop-page .shop-order-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--shop-line); }
.shop-page .shop-order-heading h3 { margin:0; font-size:22px; }
.shop-page .shop-order-heading>span { background:#f0f4ef; border-radius:4px; padding:5px 9px; font-size:11px; }
.shop-page .shop-empty { margin:20px 0; font-size:14px; color:var(--shop-muted); }
.shop-page .shop-order-item { display:grid; grid-template-columns:1fr auto; gap:10px 18px; padding:20px 0; border-bottom:1px solid var(--shop-line); }
.shop-page .shop-order-item-name { font-size:14px; font-weight:600; }
.shop-page .shop-order-item-info { margin-top:4px; color:var(--shop-muted); font-size:11px; line-height:1.6; }
.shop-page .shop-order-item .shop-select { min-height:40px; padding:7px; font-size:12px; }
.shop-page .shop-order-item-total { grid-column:2; text-align:right; font-size:15px; font-weight:600; }
.shop-page .shop-remove { align-self:start; justify-self:start; border:0; background:none; padding:4px 0; font-size:12px; color:var(--shop-muted); text-decoration:underline; cursor:pointer; }
.shop-page .shop-shipping { margin:25px 0; border:0; padding:0; min-width:0; }
.shop-page .shop-shipping legend { float:none; font-size:14px; font-weight:600; width:auto; margin:0 0 10px; }
.shop-page .shop-shipping label { display:flex; align-items:center; gap:10px; font-size:13px; padding:10px 0; cursor:pointer; }
.shop-page .shop-shipping input { width:18px; height:18px; accent-color:var(--shop-green); flex-shrink:0; }
.shop-page .shop-shipping label span { flex:1; }
.shop-page .shop-totals { padding-top:18px; border-top:1px solid var(--shop-line); }
.shop-page .shop-totals>div { display:flex; justify-content:space-between; gap:15px; margin-bottom:10px; font-size:13px; color:var(--shop-muted); }
.shop-page .shop-totals .shop-grand-total { color:var(--shop-ink); font-size:19px; margin:18px 0; align-items:baseline; }
.shop-page .shop-grand-total strong { font-size:28px; }
.shop-page .shop-whatsapp { width:100%; background:#176b43; }
.shop-page .shop-whatsapp:hover:not(:disabled) { background:#115434; }
.shop-page .shop-confirm-note { color:var(--shop-muted); font-size:11px; line-height:1.7; margin:12px 0 0; }
.shop-page .shop-confirm-note a { text-decoration:underline !important; }
.shop-page .shop-feedback { margin:12px 0 0; min-height:22px; font-size:13px; line-height:1.6; color:#236041; }
.shop-page .shop-faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }
.shop-page .shop-main .shop-faq-layout { padding:65px 0; }
.shop-page .shop-faq-layout h2 { margin:0 0 15px; }
.shop-page .shop-faq-layout .shop-details-content { font-size:14px; }
.shop-page .shop-help { font-size:14px; color:var(--shop-muted); }
.shop-page .shop-help a { white-space:nowrap; font-weight:600; }
.shop-page .shop-main .shop-contact-band { padding:30px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:var(--shop-paper); border:1px solid var(--shop-line); border-radius:12px; margin-bottom:65px; }
.shop-page .shop-contact-band h2 { font-size:24px; margin:0 0 8px; }
.shop-page .shop-contact-band p { color:var(--shop-muted); font-size:14px; margin:0; }
.shop-page .shop-contact-band .shop-button { flex-shrink:0; }
.shop-page .shop-mobile-order { display:none; }
.shop-page .shop-no-js { border:1px solid #caba90; background:#fcf7ec; padding:20px; margin:20px 0; font-size:14px; }
.shop-page [hidden] { display:none !important; }
@media(min-width:992px) and (max-width:1199.98px) { .shop-page .shop-product-copy { padding:24px; } .shop-page .shop-add-form { flex-wrap:wrap; } .shop-page .shop-add-form .shop-button { min-width:180px; } }
@media(max-width:991.98px) {
 .shop-page .shop-wrap { width:calc(100% - 40px); }
 .shop-page .shop-hero-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
 .shop-page .shop-hero h1 { font-size:41px; }
 .shop-page .shop-hero-lead { font-size:15px; }
 .shop-page .shop-hero-display { width:100%; max-width:600px; margin-inline:auto; }
 .shop-page .shop-products { gap:20px; }
 .shop-page .shop-product-copy { padding:22px; }
 .shop-page .shop-product h3 { font-size:25px; }
 .shop-page .shop-product-visual>img,.shop-page .shop-product-visual .shop-product-matriche { height:280px; }
 .shop-page .shop-product-description { min-height:155px; }
 .shop-page .shop-add-form { flex-wrap:wrap; }
 .shop-page .shop-add-form>div,.shop-page .shop-add-form .shop-select { width:100%; }
 .shop-page .shop-add-form .shop-button { width:100%; flex:auto; }
 .shop-page .shop-order-layout,.shop-page .shop-faq-layout { gap:30px; grid-template-columns:.8fr 1.2fr; }
 .shop-page .shop-order-panel { padding:23px; }
 .shop-page .shop-service-strip { gap:16px; }
 .shop-page .shop-service-strip div { font-size:12px; }
}
@media(max-width:699.98px) {
 .shop-page { --shop-heading-space:40px; }
 /* Keep keyboard-focused controls clear of the fixed order bar. */
 html:has(body.shop-page.has-shop-items) { scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
 .shop-page .shop-wrap { width:calc(100% - 32px); }
 .shop-page .shop-breadcrumb { padding:18px 0; font-size:12px; }
 .shop-page .shop-hero-grid { grid-template-columns:1fr; gap:25px; padding:14px 0 32px; }
 .shop-page .shop-hero h1 { font-size:clamp(34px,8.5vw,48px); }
 .shop-page .shop-hero-lead { margin:18px 0 22px; max-width:none; }
 .shop-page .shop-hero-actions { gap:18px; }
 .shop-page .shop-hero-display { max-width:460px; }
 .shop-page .shop-hero-photo { border-radius:80px 80px 8px 8px; }
 .shop-page .shop-hero-tile figcaption { font-size:12px; margin-top:8px; }
 .shop-page .shop-service-strip { grid-template-columns:1fr; gap:15px; padding:22px 0; }
 .shop-page .shop-service-strip div { font-size:13px; }
 .shop-page .shop-service-strip svg { width:20px; height:20px; }
 .shop-page .shop-section-heading { display:block; padding:var(--shop-heading-space) 0 22px; }
 .shop-page .shop-section-heading>p { margin-top:14px; max-width:none; }
 .shop-page .shop-products { grid-template-columns:1fr; gap:26px; }
 .shop-page .shop-product-copy { padding:22px; }
 .shop-page .shop-product h3 { font-size:29px; }
 .shop-page .shop-product-visual>img,.shop-page .shop-product-visual .shop-product-matriche { height:300px; }
 .shop-page .shop-product-description { min-height:0; }
 .shop-page .shop-add-form { flex-wrap:nowrap; align-items:end; }
 .shop-page .shop-add-form>div { width:auto; }
 .shop-page .shop-add-form .shop-select { width:auto; }
 .shop-page .shop-add-form .shop-button { width:auto; flex:1; padding:13px; font-size:13px; }
 .shop-page .shop-main .shop-order-section { margin-top:40px; padding:38px 0; }
 .shop-page .shop-order-layout,.shop-page .shop-faq-layout { grid-template-columns:1fr; gap:24px; }
 .shop-page .shop-order-intro h2,.shop-page .shop-order-intro>p:not(.shop-eyebrow) { max-width:none; }
 .shop-page .shop-order-steps { margin:22px 0 0; }
 .shop-page .shop-order-panel { padding:21px; }
 .shop-page .shop-main .shop-faq-layout { padding:40px 0; }
 .shop-page .shop-main .shop-contact-band { flex-direction:column; align-items:start; padding:24px; margin-bottom:40px; gap:18px; }
 .shop-page .shop-mobile-order { position:fixed; bottom:0; left:0; right:0; z-index:990; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border-top:1px solid var(--shop-line); padding:12px 16px calc(12px + env(safe-area-inset-bottom)); box-shadow:0 -6px 24px #203a2512; }
 .shop-page .shop-mobile-order>div { min-width:0; }
 .shop-page .shop-mobile-order span { display:block; font-size:12px; line-height:1.5; color:var(--shop-muted); }
 .shop-page .shop-mobile-order strong { display:block; font-size:19px; line-height:1.3; color:var(--shop-ink); }
 .shop-page .shop-mobile-order a { background:var(--shop-green); color:#fff; padding:12px 16px; border-radius:6px; font-size:13px; font-weight:600; }
 .shop-page.has-shop-items { padding-bottom:calc(95px + env(safe-area-inset-bottom)); }
 .shop-page.has-shop-items .scroll-top { display:none; }
 .shop-page.mobile-menu-open .shop-mobile-order { visibility:hidden; }
}
@media(max-width:359.98px) {
 .shop-page .shop-product-copy,.shop-page .shop-order-panel { padding:17px; }
 .shop-page .shop-add-form { flex-wrap:wrap; }
 .shop-page .shop-add-form>div,.shop-page .shop-add-form .shop-select { width:100%; }
 .shop-page .shop-hero-actions { gap:14px; }
 .shop-page .shop-button { padding:12px 16px; }
}
@media(prefers-reduced-motion:reduce) { .shop-page *, .shop-page *::before,.shop-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Delivery details and bank transfer: scoped to the product checkout. */
.shop-page .shop-order-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; }
.shop-page .shop-order-intro,.shop-page .shop-order-panel,.shop-page .shop-order-guide { min-width:0; }
.shop-page .shop-order-guide>p:not(.shop-eyebrow) { font-size:15px; color:var(--shop-muted); max-width:430px; }
.shop-page .shop-bank-card { margin-top:34px; padding:28px; border:1px solid #315b49; border-radius:14px; background:linear-gradient(145deg,#244e3e,#173a30); color:#fff; box-shadow:0 14px 30px #1d3c2712; }
.shop-page .shop-bank-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:26px; }
.shop-page .shop-bank-heading>div { min-width:0; }
.shop-page .shop-bank-icon { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; border:1px solid #ffffff36; border-radius:12px; color:#e0dcb9; }
.shop-page .shop-bank-icon svg { width:26px; height:26px; }
.shop-page .shop-bank-card .shop-eyebrow { color:#d2ddc8; font-size:10px; letter-spacing:.12em; margin:0 0 8px; }
.shop-page .shop-bank-card h3 { color:#fff; margin:0; font-size:23px; line-height:1.35; letter-spacing:-.035em; }
.shop-page .shop-bank-details { margin:0; }
.shop-page .shop-bank-details>div+div { margin-top:22px; }
.shop-page .shop-bank-details dt,.shop-page .shop-bank-reference>span { display:block; font-size:12px; line-height:1.6; font-weight:400; color:#d0ded6; margin-bottom:7px; }
.shop-page .shop-bank-details dd { margin:0; font-size:17px; font-weight:600; line-height:1.6; }
.shop-page .shop-bank-details .shop-bank-iban { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:21px; font-weight:500; line-height:1.75; letter-spacing:.01em; word-break:normal; overflow-wrap:normal; user-select:all; }
.shop-page .shop-copy-iban { display:inline-flex; gap:9px; align-items:center; justify-content:center; min-height:44px; margin-top:15px; padding:10px 15px; border:1px solid #ffffff75; border-radius:7px; background:#ffffff0d; color:#fff; font-size:13px; font-weight:600; cursor:pointer; }
.shop-page .shop-copy-iban:hover { background:#ffffff20; }
.shop-page .shop-copy-iban svg { width:18px; height:18px; flex-shrink:0; }
.shop-page .shop-copy-iban:focus-visible { outline-color:#f3df9f !important; }
.shop-page .shop-copy-status { min-height:20px; margin:8px 0 0; color:#e2ebd9; font-size:12px; line-height:1.6; }
.shop-page .shop-bank-reference { padding-top:20px; margin-top:12px; border-top:1px solid #ffffff2b; }
.shop-page .shop-bank-reference p { margin:0; font-size:14px; }
.shop-page .shop-bank-note { padding:14px 16px; margin:18px 0 0; border-left:2px solid #b6c5a2; background:#ffffff09; color:#e0e9e3; font-size:12px; }
.shop-page .shop-customer-fields { min-width:0; padding:26px 0; margin:0; border:0; border-bottom:1px solid var(--shop-line); }
.shop-page .shop-customer-fields legend { float:left; width:100%; margin:0 0 7px; font-size:19px; line-height:1.45; font-weight:600; color:var(--shop-ink); letter-spacing:-.025em; }
.shop-page .shop-customer-fields>p { clear:both; margin:0 0 20px; }
.shop-page .shop-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.shop-page .shop-field { min-width:0; }
.shop-page .shop-field-wide { grid-column:1/-1; }
.shop-page .shop-field label { display:block; margin-bottom:8px; font-size:13px; line-height:1.5; font-weight:600; color:var(--shop-ink); }
.shop-page .shop-field label span { font-size:12px; color:var(--shop-muted); font-weight:400; }
.shop-page .shop-field input,.shop-page .shop-field textarea { display:block; width:100%; min-width:0; max-width:100%; min-height:50px; border:1px solid #adbbb2; border-radius:7px; background:#fcfdfb; color:var(--shop-ink); padding:12px 13px; font:400 16px/1.5 'Livvic',sans-serif; box-shadow:none; }
.shop-page .shop-field textarea { resize:vertical; min-height:104px; }
.shop-page .shop-field input::placeholder,.shop-page .shop-field textarea::placeholder { color:#69766f; opacity:1; font-size:13px; }
.shop-page .shop-field input:focus,.shop-page .shop-field textarea:focus { background:#fff; border-color:var(--shop-green); }
.shop-page .shop-field input[aria-invalid="true"] { border-color:#a83232; background:#fffafa; }
.shop-page .shop-field textarea:focus-visible { outline:3px solid #2363d5 !important; outline-offset:4px; }
.shop-page #shop-province { text-transform:uppercase; }
.shop-page .shop-field-hint { color:var(--shop-muted); font-size:12px; line-height:1.6; margin:8px 0 0; }
.shop-page .shop-payment-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px; margin:0 0 20px; background:var(--shop-paper); border:1px solid var(--shop-line); border-radius:8px; font-size:12px; line-height:1.6; }
.shop-page .shop-payment-summary strong { display:block; color:var(--shop-ink); font-size:14px; }
.shop-page .shop-payment-summary a { text-decoration:underline !important; text-underline-offset:3px; }
.shop-page .shop-confirm-note { font-size:12px; }
@media(max-width:1099.98px) {
 .shop-page .shop-order-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
 .shop-page .shop-order-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px; }
 .shop-page .shop-bank-card { margin-top:0; padding:24px; }
}
@media(max-width:699.98px) {
 .shop-page .shop-order-intro { grid-template-columns:minmax(0,1fr); gap:24px; }
 .shop-page .shop-bank-card { padding:24px; }
 .shop-page .shop-bank-heading { gap:12px; }
 .shop-page .shop-bank-card h3 { font-size:22px; }
 .shop-page .shop-order-guide>p:not(.shop-eyebrow) { max-width:none; }
 .shop-page .shop-field-grid { gap:16px 12px; }
}
@media(max-width:389.98px) {
 .shop-page .shop-field-grid { grid-template-columns:minmax(0,1fr); }
 .shop-page .shop-bank-card { padding:21px; }
 .shop-page .shop-bank-icon { width:36px; height:36px; border-radius:9px; }
 .shop-page .shop-bank-card h3 { font-size:21px; }
 .shop-page .shop-bank-details .shop-bank-iban { font-size:20px; }
 .shop-page .shop-payment-summary { align-items:flex-start; flex-direction:column; }
}
