/*
 * Wspólne układy zwykłych podstron: hero, sekcje dzielone, formularze i bloki
 * treści. Bardziej wyspecjalizowany widok powinien otrzymać własny arkusz w
 * `pages/`, zamiast dalszych wyjątków w tym pliku.
 */
.hero{padding-top:40px;background:var(--cream)}.hero-layout{display:grid;gap:35px}.hero-copy{padding:10px 0}.hero h1{margin-bottom:24px}.hero h1 em{font-style:italic;font-weight:400;color:#667453}.hero .lead{font-size:1rem}.hero .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#839467}.hero-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:22px;margin-top:28px}.hero-note{display:flex;align-items:center;gap:13px;font-size:.7rem;color:var(--muted);margin-top:35px}.small-line{height:1px;width:30px;background:#8a927e}.hero-photo{position:relative;min-width:0}.hero-photo img{width:100%;height:360px;object-fit:cover}.hero-photo figcaption{display:flex;justify-content:space-between;gap:15px;font-size:.61rem;letter-spacing:.08em;padding:15px 0;color:#626c58}.values-bar{border-bottom:1px solid var(--line);padding-block:24px}.values-bar .container{display:flex;flex-direction:column;gap:14px}.values-bar span{font-size:.7rem;color:#849175;display:flex;align-items:center;gap:15px}.values-bar strong{font-weight:400;color:var(--ink);font-size:.83rem}.section-heading{display:flex;flex-direction:column;gap:22px;margin-bottom:36px}.section-heading>p{max-width:400px;font-size:.93rem}.split{display:grid;gap:35px;align-items:center}.about-section{background:#f0eee6}.about-photo img{aspect-ratio:1/1;object-fit:cover;width:100%}.about-photo figcaption{font-size:.72rem;color:var(--muted);padding-top:13px}.about-copy h2{margin-bottom:24px}.about-copy p{font-size:.96rem}.about-copy .eyebrow{font-size:.69rem}.about-copy .text-link{margin-top:26px}.page-intro{padding-block:52px 45px}.page-intro h1{margin-bottom:23px;max-width:1000px}.detail-photo{width:100%;aspect-ratio:1/1;object-fit:cover}.product-detail h2{font-size:2.3rem;margin:12px 0 22px}.contact-layout{display:grid;gap:35px}.contact-primary{padding:28px;background:var(--cream)}.contact-primary h2{font-size:2.4rem}.phone-link{display:block;font-size:clamp(1.2rem,4vw,2rem);text-decoration:none;color:var(--ink);margin:25px 0}.contact-details h2{font-size:1.9rem;margin:10px 0 28px}.contact-details h3{margin:23px 0 10px}.legal-details h2{font-size:clamp(1.4rem,3vw,2.4rem);overflow-wrap:anywhere}.legal-details .specs{max-width:640px}.email-link{overflow-wrap:anywhere}
@media(min-width:760px){.values-bar .container{flex-direction:row;justify-content:space-between;gap:20px}.section-heading{flex-direction:row;justify-content:space-between;align-items:end}.split{grid-template-columns:1fr 1fr;gap:60px}.contact-layout{grid-template-columns:1.2fr 1fr;gap:60px}.contact-primary{padding:42px}.page-intro{padding-block:75px 60px}}
@media(min-width:960px){.hero{padding-top:0}.hero-layout{grid-template-columns:1.04fr 1fr;gap:45px;align-items:center}.hero-copy{padding:60px 0}.hero-photo img{height:590px}.hero-photo{align-self:stretch;display:flex;flex-direction:column}.hero-photo img{flex:1;min-height:0}.hero-photo figcaption{padding-bottom:20px}.hero-note{margin-top:42px}.hero h1{font-size:clamp(3rem,4.7vw,4.5rem)}}
#contact-form{margin-top:35px;border-top:1px solid #ccd0c0;padding-top:25px}#contact-form h3{font-family:var(--serif);font-size:1.6rem;margin-bottom:22px}#contact-form label{display:block;font-size:.85rem;color:var(--ink);margin:18px 0 6px}#contact-form input,#contact-form textarea{display:block;width:100%;border:1px solid #b8c1ae;border-radius:2px;padding:12px;background:var(--paper);color:var(--ink)}#contact-form textarea{resize:vertical}#contact-form .form-note{font-size:.75rem;margin:15px 0 20px}#contact-form .honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#form-status{margin-top:16px;font-size:.9rem}button:disabled{opacity:.6;cursor:wait}
.shop-intro .lead{max-width:760px}.shop-intro h1{max-width:900px}
.about-section .about-photo img{object-position:35% 50%}

/* Komunikatory w sekcji kontaktowej. */
.contact-messengers{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 28px}
.contact-messenger{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 18px;border:1px solid var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);text-decoration:none;transition:background .2s ease,color .2s ease}
.contact-messenger:hover{background:var(--ink);color:var(--paper)}
@media(max-width:480px){.contact-messenger{width:100%}}

/* Opisy gatunków: dwie kolumny na desktopie, jedna na telefonie. */
.species-guide-grid{display:grid;gap:30px;margin-top:36px}
.species-guide-item{border-top:1px solid var(--line);padding-top:24px}
.species-guide-item .eyebrow{margin-bottom:12px}
.species-guide-item h3{font-family:var(--serif);font-size:1.6rem;margin-bottom:16px}
.species-guide-item>p:last-child{max-width:62ch}
.species-guide-footer{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}
.species-source{font-size:.78rem;color:var(--muted);margin-top:20px;max-width:70ch}
@media(min-width:760px){.species-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 56px}.species-guide-item:last-child{grid-column:1/-1}.species-guide-item:last-child>p:last-child{max-width:85ch}}

/* Ciekawostki o orzechu, oddzielone od praktycznego opisu. */
.walnut-facts{margin-top:48px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.walnut-facts .species-guide-item:last-child{grid-column:auto}
.walnut-facts .species-source{margin-top:16px}
@media(min-width:760px){.walnut-facts{padding:40px}}

/* Panel zakupu w opisie gatunku. */
.purchase-panel{margin-top:32px;padding:clamp(20px,3vw,32px);background:linear-gradient(145deg,#fffefa,var(--cream));border:1px solid #d9ddcf;border-top:3px solid var(--ink);border-radius:14px;box-shadow:0 12px 32px rgba(32,61,49,.07);scroll-margin-top:24px}
.purchase-panel .eyebrow{margin-bottom:16px;font-size:.64rem;letter-spacing:.12em}
.purchase-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.purchase-panel h3{max-width:12ch;font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,1.9rem);line-height:1.15}
.purchase-price{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;color:var(--ink);line-height:1.2}
.purchase-price strong{font-family:var(--serif);font-size:2.5rem;font-weight:400;letter-spacing:-.04em;white-space:nowrap}
.purchase-price strong span{font-family:var(--sans);font-size:1rem;letter-spacing:0}
.purchase-price>span{font-size:.78rem;color:var(--muted);margin-top:4px}
.purchase-panel .cart-note{font-size:.75rem;line-height:1.6;color:#626b60;margin:20px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.purchase-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin-bottom:24px}
.purchase-fields label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.purchase-fields input,.purchase-fields select{display:block;width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1px solid #bac4b6;border-radius:7px;background:#fffefa;color:var(--ink);font-size:1rem;transition:border-color .18s ease,box-shadow .18s ease}
.purchase-fields input:hover,.purchase-fields select:hover{border-color:var(--ink)}
.purchase-fields input:focus-visible,.purchase-fields select:focus-visible{outline:2px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 5px #e3e8da}
.purchase-quantity{position:relative}
.purchase-quantity input{padding-right:60px}
.purchase-quantity>span{position:absolute;right:32px;top:50%;transform:translateY(-50%);font-size:.82rem;color:var(--muted);pointer-events:none}
.purchase-panel>.button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;margin-bottom:18px;padding:15px 20px;border-radius:7px;box-shadow:0 4px 10px rgba(32,61,49,.12);font-size:.94rem;transition:background .18s ease,box-shadow .18s ease}
.purchase-panel>.button>span{margin-left:auto}
.purchase-panel>.button svg{flex-shrink:0}
.purchase-panel>.button:hover:not(:disabled){background:#345542;box-shadow:0 6px 16px rgba(32,61,49,.18)}
.purchase-panel>.button:disabled{cursor:not-allowed}
.purchase-panel>.text-link{display:flex;justify-content:center;align-items:center;gap:4px;width:fit-content;max-width:100%;min-height:44px;margin:0 auto;font-size:.82rem}
.purchase-return{margin:0 20px 16px 0}
@media(max-width:400px){.purchase-heading{align-items:flex-start;gap:12px}.purchase-price strong{font-size:2rem}.purchase-fields{grid-template-columns:1fr}.purchase-panel h3{font-size:1.5rem}}

/* Kompaktowy panel zakupu na kartach gatunków. */
.product-card .card-purchase{padding:18px;margin-top:20px;border-radius:8px;box-shadow:none}
.card-purchase .purchase-price{align-items:flex-start}
.card-purchase .purchase-price strong{font-size:2rem}
.card-purchase .cart-note{font-size:.7rem;margin:12px 0 16px;padding-bottom:14px}
.card-purchase .purchase-fields{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:18px}
.card-purchase>.button{padding:12px;gap:8px;font-size:.83rem;min-height:48px}
.product-card .card-purchase>.text-link{font-size:.78rem}
@media(min-width:480px) and (max-width:759px){.card-purchase .purchase-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Finished products: gallery, details and quantity selection. */
.shop-card.finished-product-card{border:1px solid #e4ded3;border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:14px}
.shop-card.finished-product-card .product-thumbs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px}
.shop-card.finished-product-card .product-thumb{flex:0 0 64px;border-radius:8px;overflow:hidden}
.shop-card.finished-product-card .product-thumb[aria-pressed="true"]{outline:2px solid #66543b;outline-offset:2px}
.product-details{border-block:1px solid #e4ded3;padding:14px 0}
.product-details summary{cursor:pointer;font-weight:600;padding:4px 0}
.product-details p{margin:12px 0 0;line-height:1.65}
.shop-card.finished-product-card .shop-card-footer{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.product-quantity-label{display:grid;gap:8px;font-size:.85rem}
.product-quantity-label input{width:100%;max-width:120px;min-height:44px;padding:10px;border:1px solid #b8ad9b;border-radius:8px;background:#fff;font:inherit}
.shop-card.finished-product-card .shop-card-footer .button{grid-column:1/-1;width:100%;min-height:48px}
.shop-card.finished-product-card :is(button,input,summary):focus-visible{outline:3px solid #66543b;outline-offset:3px}
@media(max-width:600px){.shop-card.finished-product-card{padding:14px;gap:12px}}

.finished-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.finished-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f4f1eb;border-radius:8px}
.finished-product-page .purchase-panel{display:grid;gap:16px;margin-top:28px}

.finished-gallery button{padding:3px;border:2px solid transparent;border-radius:10px;background:#f4f1eb;cursor:pointer;min-width:0}
.finished-gallery button[aria-pressed="true"]{border-color:#294b37}
.finished-gallery button:hover{border-color:#9dafa0}
.finished-gallery button:focus-visible{outline:3px solid #294b37;outline-offset:3px}
.finished-gallery button img{display:block}

/* A fixed frame prevents gallery layout shifts when changing photographs. */
.finished-product-page .product-detail > div{min-width:0}
.finished-photo-frame{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#f4f1eb}
.species-page.finished-product-page .finished-photo-frame .detail-photo{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}

/* Product specifications precede purchase and editorial content. */
.finished-product-page .page-intro{padding-bottom:28px}
.finished-product-page .product-specification{padding:clamp(20px,3vw,32px);background:#f2f0e8;border:1px solid #ded8ca;border-radius:16px}
.finished-product-page .product-specification h2{margin-top:0;font-size:1.65rem}
.product-specification>p{font-size:.82rem;line-height:1.6;color:#625d50}
.finished-product-page .product-specification .specs{margin-bottom:0}
.finished-product-page .product-specification dd{font-weight:600}
.product-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px}
.product-info-card{padding:clamp(20px,3vw,32px);border:1px solid #e2ddd2;border-radius:16px;background:#fff}
.product-info-card h2{font-size:1.55rem;margin-top:0}
.product-info-card p{line-height:1.75}
.product-packaging{background:#edf2eb;border-color:#cdd9ca}
@media(max-width:759px){.product-info-grid{grid-template-columns:1fr}.finished-product-page .product-specification .specs>div{display:grid;gap:6px}.finished-product-page .product-specification dd{margin:0}}

.shop-hero .shop-hero-layout{grid-template-columns:1fr}
.shop-hero .shop-hero-copy{max-width:none}
.shop-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.shop-choice{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;border:2px solid #d6dccc;border-radius:16px;background:#fff;color:#254332;font:inherit;cursor:pointer}
.shop-choice>img,.shop-choice-images{width:100%;height:200px;object-fit:cover;background:#fff}
.shop-choice-images{display:grid;grid-template-columns:1fr 1fr}
.shop-choice-images img{width:100%;height:200px;object-fit:contain;min-width:0}
.shop-choice-body{display:grid;gap:12px;padding:24px;flex:1}
.shop-choice-body strong{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3}
.shop-choice-action{font-weight:700;align-self:end}
.shop-choice:hover,.shop-choice.is-active{border-color:#294b37;background:#edf2eb}
.shop-choice.is-active{box-shadow:0 0 0 2px #294b37}
.shop-choice:focus-visible{outline:3px solid #294b37;outline-offset:4px}
.shop-filter[hidden],.shop-category[hidden]{display:none!important}
.shop-selection-note{margin-top:20px;font-weight:600}
@media(max-width:650px){.shop-choices{grid-template-columns:1fr}.shop-choice>img,.shop-choice-images,.shop-choice-images img{height:160px}.shop-choice-body{padding:20px}}

.shipping-panel{display:grid;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #cdd9ca}.shipping-panel label{display:block;margin-bottom:6px}.shipping-panel :is(input,select){width:100%;min-height:44px;padding:10px;border:1px solid #b8ad9b;border-radius:8px;background:white;font:inherit}.shipping-panel small{display:block;margin-top:8px;line-height:1.5}

.shipping-panel fieldset{min-width:0;margin:8px 0;padding:16px;border:1px solid #cdd9ca;border-radius:10px;background:#f3f5ef}.shipping-panel fieldset[hidden]{display:none}.shipping-panel legend{font-weight:700}.shipping-panel fieldset label{margin-top:14px}.shipping-panel textarea{width:100%;box-sizing:border-box;padding:10px;font:inherit;border:1px solid #b8ad9b;border-radius:8px}

.shipping-panel fieldset:disabled{background:#eeefec;border-color:#d7d9d3;color:#73786f}.shipping-panel fieldset:disabled :is(input,select,textarea){background:#e5e7e2;color:#777d72;border-color:#d2d6cc;cursor:not-allowed;opacity:1}.shipping-panel fieldset:disabled legend{color:#73786f}
.wood-delivery-panel{margin-top:20px;padding:18px;background:#f0f3ec;border:1px solid #ccd7c5;border-radius:12px}.wood-delivery-panel h3{font-size:1.1rem}.wood-delivery-panel fieldset{min-width:0;border:0;padding:0;display:grid;gap:8px}.wood-delivery-panel select{max-width:100%;width:100%;padding:10px;font:inherit}.wood-delivery-panel fieldset:disabled{opacity:.5}.wood-delivery-panel [data-wood-total]{font-weight:600;line-height:1.7}

.wood-delivery-panel fieldset[hidden]{display:none}

.applications-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.application-card{display:flex;flex-direction:column;padding:clamp(22px,3vw,36px);border:1px solid #deded2;border-radius:16px;background:#fff}.application-card h2{font-size:1.65rem}.application-card p{line-height:1.75}.application-tip{background:#f2f4ee;padding:18px;border-radius:10px;margin:12px 0 24px}.application-tip h3{font-size:1rem;margin:0 0 8px}.application-tip p{margin:0}.application-card>.text-link{margin-top:auto}.application-card>.text-link:focus-visible{outline:3px solid #294b37;outline-offset:4px}@media(max-width:759px){.applications-grid{grid-template-columns:1fr}}

.application-technical{border-top:1px solid #d8dfd1;padding-top:20px;margin-bottom:24px}.application-technical h3{font-size:1.05rem}.application-technical h4{font-size:.95rem;margin:18px 0 6px}.application-technical p{font-size:.93rem}.technical-guide{scroll-margin-top:24px}

.purchase-price strong,.price strong{line-height:1.5;overflow-wrap:anywhere}.purchase-price small{display:block;font-size:.7rem;font-weight:400}.purchase-price{flex-wrap:wrap}

.shop-choices a.shop-choice{text-decoration:none}.standalone-cart{max-width:850px}.standalone-cart .cart-panel{position:static;width:100%}

.product-card .catalog-price{display:grid;gap:6px;margin-top:auto;padding-top:18px;border-top:1px solid #d8dfd1}.catalog-price strong{font-size:1.15rem;color:#294b37}.catalog-price small{font-size:.8rem;color:#62675e;line-height:1.5}
.purchase-price.price-access{max-width:100%;flex-shrink:1;align-items:flex-start;gap:5px;text-align:left;line-height:1.45}
.purchase-price.price-access strong,.catalog-price.price-access strong{font-family:var(--sans);font-size:1.05rem;font-weight:700;letter-spacing:0;white-space:normal}
.price-access small{display:block;font-size:.76rem;line-height:1.5}
.price-access a{text-underline-offset:3px}
.add-to-cart[hidden]{display:none!important}
.cart-item-description{min-width:0;overflow-wrap:anywhere}
.cart-quantity-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;margin:6px 0 0}
.cart-quantity-form label{grid-column:1/-1;font-size:.85rem;color:var(--ink)}
.cart-quantity-form input{width:100%;min-width:0;border:1px solid #b8c1ae;border-radius:4px;padding:9px;background:var(--paper);color:var(--ink)}
.cart-quantity-form button{padding:10px 14px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:#fff;text-decoration:none}
.cart-quantity-message{grid-column:1/-1;font-size:.8rem;overflow-wrap:anywhere}
.cart-error,.product-feedback[data-error=true],.cart-quantity-message[data-error=true]{color:#8b2525}
.cart-error{font-size:.88rem;margin-block:14px}
.cart-error[hidden]{display:none}
.product-quantity-note{display:block;font-size:.8rem;margin-top:7px}
.product-feedback{font-size:.85rem;margin-top:12px}
.cart-total{flex-wrap:wrap}
.pricing-status{padding:16px 20px;margin-block:20px;background:var(--cream);border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pricing-status[hidden]{display:none!important}
.pricing-status p{flex:1 1 240px;font-size:.9rem;overflow-wrap:anywhere}
.pricing-status button{flex:0 0 auto;max-width:100%;white-space:normal}
.cart-session-feedback{margin-bottom:20px;padding:16px 20px;border:1px solid var(--line);background:var(--cream);border-radius:4px}
.cart-session-feedback .button{margin-top:12px}
.species-page .page-intro h1{overflow-wrap:anywhere}
.purchase-price.price-access{flex:1 1 320px;padding:16px;border:1px solid #d5b75d;border-radius:8px;background:#fff7da;color:#19392e}
.purchase-price.price-access small{font-size:.84rem}
.purchase-price{min-width:0;max-width:100%;flex-shrink:1}
.purchase-price strong{white-space:normal;font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:0}
.wood-delivery-panel fieldset[hidden]{display:none}
.catalog-price.price-access{min-width:0;padding-top:8px}
@media(max-width:600px){.purchase-heading{flex-wrap:wrap}.purchase-price.price-access{align-items:flex-start}}

/* Editorial page layouts. */
.hero{position:relative;overflow:hidden;padding-top:28px;background:radial-gradient(circle at 82% 14%,rgba(185,201,156,.34),transparent 32%),linear-gradient(145deg,#ece9df,#f7f5ef)}
.hero::before{content:"";position:absolute;left:-160px;bottom:-260px;width:470px;height:470px;border:1px solid rgba(23,56,43,.08);border-radius:50%;pointer-events:none}
.hero-layout{position:relative;z-index:1}
.hero h1{max-width:13ch}.hero h1 em{color:#687a59}
.hero .lead{font-size:clamp(1.05rem,1.5vw,1.2rem)}
.hero-photo img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.hero-photo figcaption{padding-inline:6px}
.hero-actions{gap:14px}
.values-bar{background:var(--surface);border-bottom-color:var(--line);box-shadow:0 8px 24px rgba(23,56,43,.035)}
.values-bar span{color:var(--muted)}
.values-bar span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-deep);box-shadow:0 0 0 5px rgba(185,201,156,.24)}
.section-heading{padding-bottom:24px;border-bottom:1px solid var(--line)}
.section-heading h2{max-width:16ch}
.section-heading>p{max-width:54ch;color:var(--muted)}
.about-section{background:linear-gradient(140deg,#ebe8df,#f3f1e9)}
.about-photo img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.page-intro{position:relative;margin-top:clamp(20px,4vw,42px);margin-bottom:clamp(34px,5vw,58px);padding:clamp(30px,5vw,60px);border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 90% 10%,rgba(185,201,156,.28),transparent 35%),var(--surface);box-shadow:var(--shadow-sm)}
.page-intro h1{max-width:18ch}.page-intro .lead{max-width:68ch}
.detail-photo{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.contact-primary{padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,#ebe8de,#f4f2eb);box-shadow:var(--shadow-sm)}
.contact-details{padding-block:10px}
#contact-form input,#contact-form textarea{min-height:50px;border-radius:var(--radius-sm);background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}
#contact-form input:focus,#contact-form textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(185,201,156,.28);outline:0}
.contact-messenger{border-radius:999px;background:var(--surface);font-weight:700}
.specs>div{padding:16px 0}
@media(max-width:759px){.page-intro{padding:28px 22px;border-radius:18px}.hero-photo img{border-radius:18px}.section-heading{padding-bottom:20px}}

/* Privacy policy: dense legal information kept readable and navigable. */
.privacy-page .page-intro h1{max-width:20ch}
.privacy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.privacy-summary article{padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.7)}
.privacy-summary strong{display:block;margin-bottom:6px;font-size:.9rem}.privacy-summary span{font-size:.82rem;line-height:1.55;color:var(--muted)}
.privacy-layout{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:start}
.privacy-nav{position:sticky;top:105px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.privacy-nav h2{margin:0 0 14px;font:800 .76rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.privacy-nav a{display:block;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);font-size:.82rem;text-decoration:none}.privacy-nav a:hover{text-decoration:underline}
.privacy-content{max-width:850px}.privacy-content>section{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--line);scroll-margin-top:105px}.privacy-content>section:last-child{border-bottom:0}
.privacy-content h2{margin-bottom:16px;font-size:clamp(1.55rem,2.5vw,2rem)}.privacy-content h3{margin:22px 0 9px;font-size:1.08rem}
.privacy-content p,.privacy-content li{line-height:1.75}.privacy-content ul{padding-left:22px}.privacy-content li+li{margin-top:8px}
.privacy-table-wrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:var(--radius-md)}
.privacy-table{width:100%;min-width:720px;border-collapse:collapse;background:var(--surface);font-size:.82rem;line-height:1.55}
.privacy-table th,.privacy-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.privacy-table th{background:#edf1e8}.privacy-table tr:last-child td{border-bottom:0}
.privacy-callout{padding:18px 20px;border-left:4px solid var(--accent-deep);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#edf1e8}
@media(max-width:850px){.privacy-summary{grid-template-columns:1fr}.privacy-layout{grid-template-columns:1fr}.privacy-nav{position:static}.privacy-nav a{display:inline-block;margin-right:14px}.privacy-content{max-width:none}}

/* Second visual pass: layered photography and subtle depth. */
.hero-photo{isolation:isolate}
.hero-photo::before{content:"";position:absolute;z-index:-1;inset:24px -18px -18px 24px;border-radius:var(--radius-lg);background:#dfe5d7}
.hero-photo figcaption{position:absolute;right:18px;bottom:18px;left:18px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.58);border-radius:10px;background:rgba(255,254,250,.88);box-shadow:var(--shadow-sm);backdrop-filter:blur(8px);color:#46544b}
.page-intro::after{content:"";position:absolute;right:clamp(22px,4vw,48px);bottom:0;width:clamp(70px,12vw,150px);height:5px;border-radius:5px 5px 0 0;background:linear-gradient(90deg,var(--warm),var(--accent-deep))}
.section-heading .eyebrow{margin-bottom:12px}
@media(max-width:759px){.hero-photo::before{inset:14px -8px -8px 14px}.hero-photo figcaption{right:12px;bottom:12px;left:12px;padding:10px 12px;font-size:.58rem}.page-intro::after{height:4px}}

/* Contact routes, clearer form hierarchy and mobile hardening. */
.contact-routes-section{padding-top:0}
.contact-routes-section .section-heading{margin-bottom:24px}
.contact-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-route-card{position:relative;display:flex;min-width:0;min-height:260px;flex-direction:column;padding:clamp(22px,3vw,32px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface),#f2f3eb);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.contact-route-card::before{content:"";position:absolute;right:-54px;bottom:-64px;width:150px;height:150px;border:1px solid rgba(23,56,43,.1);border-radius:50%}
.contact-route-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}
.contact-route-number{margin-bottom:34px;color:var(--accent-deep);font-size:.72rem;font-weight:800;letter-spacing:.14em}
.contact-route-card h3{max-width:15ch;margin-bottom:12px;font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.08}
.contact-route-card p{margin-bottom:24px;color:#536057;font-size:.92rem;line-height:1.68}
.contact-route-card strong{display:flex;align-items:center;gap:9px;margin-top:auto;color:var(--ink);font-size:.82rem}
.contact-route-card strong::after{content:"\2192";font-size:1.15rem;transition:transform .18s ease}.contact-route-card:hover strong::after{transform:translateX(4px)}
.contact-page .contact-layout{align-items:start}
.contact-page .contact-primary{background:linear-gradient(145deg,#ebe8de,#f7f5ef)}
.contact-page .phone-link{display:inline-block;margin:4px 0 2px;font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.1;text-underline-offset:6px}
.contact-page .contact-messengers{gap:10px;margin-top:20px}
.contact-page .contact-messenger{min-height:43px;padding:10px 15px;border:1px solid var(--line);box-shadow:0 3px 10px rgba(23,56,43,.04)}
.contact-page #contact-form{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-field{display:grid;min-width:0;gap:8px}.contact-field-wide{grid-column:1/-1}
.contact-page #contact-form label{margin:0;color:var(--ink);font-size:.86rem;font-weight:700}
.contact-page #contact-form input,.contact-page #contact-form textarea{width:100%;min-width:0;padding:13px 15px;border:1px solid #b8c1ae;background:var(--surface)}
.contact-page #contact-form textarea{min-height:180px;resize:vertical;line-height:1.6}
.contact-page #contact-form .button{margin-top:18px}
.contact-page #form-status:not(:empty){margin-top:14px;padding:12px 14px;border-left:3px solid var(--accent-deep);background:#eef2e9}
.contact-page .contact-details{padding:clamp(24px,3vw,34px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}
.contact-page .contact-details h2{margin-bottom:22px}.contact-page .contact-details h3{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
@media(min-width:960px){.contact-page .contact-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:32px}.contact-page .contact-details{position:sticky;top:110px}}
@media(max-width:759px){.contact-route-grid{grid-template-columns:1fr}.contact-route-card{min-height:0}.contact-route-number{margin-bottom:22px}.contact-form-grid{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}.contact-page .contact-primary,.contact-page .contact-details{padding:24px 20px;border-radius:16px}.contact-page .phone-link{font-size:clamp(1.4rem,8vw,1.85rem)}.contact-page #contact-form .button{width:100%;white-space:normal}.section-heading h2,.page-intro h1{overflow-wrap:anywhere}}
@media(max-width:390px){.page-intro{padding:24px 18px}.contact-route-card{padding:22px 19px}.contact-page .contact-primary,.contact-page .contact-details{padding-inline:18px}.contact-page .contact-messengers{align-items:stretch}.contact-page .contact-messenger{justify-content:center}}

/* Delivery page: separate material, transport, unloading and pickup decisions. */
.delivery-overview .section-heading h2{max-width:15ch}
.delivery-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.delivery-overview-grid article{min-width:0;padding:clamp(22px,3vw,30px);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}
.delivery-overview-grid article>span{display:block;margin-bottom:28px;color:var(--accent-deep);font-size:.68rem;font-weight:800;letter-spacing:.12em}
.delivery-overview-grid h3{margin-bottom:13px;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.2}.delivery-overview-grid p{color:#566159;font-size:.88rem;line-height:1.7}
.delivery-enquiry-box{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding:clamp(22px,3vw,30px);border-radius:var(--radius-md);background:linear-gradient(120deg,#123126,#244b3b);color:#dce6dd;box-shadow:var(--shadow-md)}
.delivery-enquiry-box strong{display:block;margin-bottom:6px;color:#fff;font-family:var(--serif);font-size:1.45rem;font-weight:500}.delivery-enquiry-box p{max-width:65ch;color:#cbd7ce;font-size:.88rem;line-height:1.6}.delivery-enquiry-box .button{flex:0 0 auto;background:#f1e6c7;border-color:#f1e6c7;color:var(--ink)}
@media(max-width:979px){.delivery-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){.delivery-overview-grid{grid-template-columns:1fr}.delivery-enquiry-box{align-items:stretch;flex-direction:column}.delivery-enquiry-box .button{width:100%;white-space:normal}.delivery-overview .section-heading h2{max-width:none}}

/* Honest enquiry state for finished products before ecommerce launch. */
.finished-product-page .finished-enquiry-panel{border-top:5px solid var(--accent-deep);background:linear-gradient(145deg,#edf1e8,#f8f7f2);box-shadow:var(--shadow-md)}
.finished-product-page .finished-enquiry-panel h2{margin-bottom:0;font-size:clamp(1.55rem,2.6vw,2rem)}
.finished-product-page .finished-enquiry-panel .purchase-price{margin:0;background:rgba(255,254,250,.82)}
.finished-product-page .finished-enquiry-panel .product-quantity-label{display:grid;gap:8px;font-size:.84rem;font-weight:700}
.finished-product-page .finished-enquiry-panel .product-quantity-label input{width:100%;min-height:50px;padding:11px 13px;border:1px solid #b8c1ae;border-radius:8px;background:var(--surface)}
.finished-product-page .finished-product-enquiry{width:100%;white-space:normal;text-align:center}

/* Company process and verifiable trust information. */
.about-process{background:#17382c;color:#dce6dd}
.about-process .section-heading h2{max-width:13ch;color:#fff}.about-process .section-heading>p{color:#c9d5cc;line-height:1.75}.about-process .eyebrow{color:#d8c28a}
.about-process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);list-style:none}
.about-process-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;min-width:0;padding:clamp(22px,3vw,30px);border-left:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}.about-process-list li:first-child{border-left:0}
.about-process-list li>span{color:#d8c28a;font-size:.68rem;font-weight:800;letter-spacing:.1em;padding-top:5px}.about-process-list h3{margin-bottom:10px;color:#fff;font-family:var(--serif);font-size:1.28rem}.about-process-list p{color:#c9d5cc;font-size:.84rem;line-height:1.68}
@media(max-width:979px){.about-process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.about-process-list li:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14)}.about-process-list li:nth-child(4){border-top:1px solid rgba(255,255,255,.14)}}
@media(max-width:599px){.about-process-list{grid-template-columns:1fr}.about-process-list li{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.about-process-list li:first-child{border-top:0}.about-process .section-heading h2{max-width:none}}

/* Documentary photography used on information pages. */
.page-documentary-photo{overflow:hidden;margin-block:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}
.page-documentary-photo img{display:block;width:100%;max-height:560px;aspect-ratio:16/9;object-fit:cover}
.page-documentary-photo figcaption{padding:16px 19px;color:var(--muted);font-size:.8rem;line-height:1.6}
