/* Gemma-Creations festive Christmas shop — no external libraries required */
:root{--night:#0d2529;--deep:#071a21;--forest:#173a35;--pine:#2e594a;--red:#ab3540;--red-dark:#862a35;--gold:#efce92;--cream:#fffaf1;--paper:#f7f1e6;--ink:#273c3d;--muted:#617372;--line:#e7ddce}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #bd8746;outline-offset:3px}img{max-width:100%}
.announcement{background:#ab3540;color:#fff9ef;text-align:center;font-weight:800;letter-spacing:.10em;text-transform:uppercase;padding:11px 18px;font-size:.72rem}
.header{background:#0c242a;color:#fdf7eb;border-bottom:1px solid #ffffff29;position:relative;z-index:3}.header-inner{max-width:1280px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:700 clamp(1.32rem,2.35vw,1.7rem) Georgia,'Times New Roman',serif;text-decoration:none;white-space:nowrap;letter-spacing:-.04em}.brand .spark{color:var(--gold);font-size:1rem;margin-right:.55rem}.brand em{color:var(--gold);font-style:normal}.header-links{display:flex;gap:22px;align-items:center}.header-links a{text-decoration:none;font-size:.9rem;font-weight:700;color:#edeade}.header-links a:hover{text-decoration:underline;text-underline-offset:5px}.pill-link{border:1px solid #cda978;padding:12px 20px;border-radius:30px;color:var(--gold)!important}
.hero{position:relative;background:radial-gradient(ellipse at 20% 10%,#2a4b4f 0%,transparent 37%),linear-gradient(137deg,#0a1b26,#113638 70%,#0b2029);color:#fffbf4;overflow:hidden}.hero:before,.mini-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.44;background-image:radial-gradient(#fff 1.1px,transparent 1.5px),radial-gradient(#f2d1aa 1.2px,transparent 1.8px);background-size:120px 120px,189px 189px;background-position:18px 24px,82px 12px;animation:fall 24s linear infinite}@keyframes fall{to{background-position:18px 264px,82px 201px}}
.hero-inner{max-width:1280px;margin:auto;padding:75px 28px 80px;display:grid;grid-template-columns:.87fr 1.13fr;gap:52px;align-items:center;position:relative}.eyebrow{font-size:.77rem;font-weight:900;letter-spacing:.23em;text-transform:uppercase;color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif}.hero h1{font-size:clamp(2.85rem,5.5vw,5.2rem);line-height:1.035;letter-spacing:-.048em;font-weight:400;margin:20px 0 23px}.hero h1 em{font-style:italic;color:var(--gold)}.hero p{color:#e3e6de;font-size:1.07rem;line-height:1.78;max-width:530px}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:33px}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:7px;padding:15px 22px;font-size:.95rem;font-weight:900;text-decoration:none;transition:transform .2s,background .2s}.primary-btn{background:var(--red);color:white}.primary-btn:hover{background:var(--red-dark);transform:translateY(-2px)}.secondary-btn{background:#f9eee2;color:var(--night)}.secondary-btn:hover{background:white;transform:translateY(-2px)}.hero-small{color:#f2d9b7!important;font-size:.91rem!important}.hero-photo{margin:0;position:relative}.hero-photo img{width:100%;display:block;object-fit:cover;min-height:390px;aspect-ratio:1.35;border:6px solid #dfcb9e;border-radius:19px;box-shadow:0 19px 52px #0009}.photo-stamp{position:absolute;right:-16px;bottom:-20px;width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#bd4350;color:white;text-align:center;border:4px solid #ffe8b8;box-shadow:0 9px 18px #0006;transform:rotate(8deg);font-weight:800;font-size:.8rem;line-height:1.5}.photo-stamp strong{font:700 1.75rem Georgia,serif}
.promise-bar{border-bottom:1px solid #e5dacb;background:#f4e8d6;padding:16px 25px;text-align:center;color:#364f49;font-weight:800;font-size:.87rem;letter-spacing:.02em}.promise-bar span{margin:0 14px;color:#b65a4a}
.collection{padding:85px 28px 95px;max-width:1280px;margin:auto;scroll-margin-top:16px}.section-intro{text-align:center;max-width:670px;margin:0 auto 38px}.kicker{font-size:.77rem;color:#b13c48;letter-spacing:.22em;text-transform:uppercase;font-weight:900}.section-intro h2{font-size:clamp(2.3rem,4.4vw,3.8rem);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:14px 0}.section-intro p{color:var(--muted);font-size:1.05rem;line-height:1.75;margin:0}.featured-tile{display:grid;grid-template-columns:1.35fr 1fr;background:#173b38;color:#fffbef;border:1px solid #e6d7b7;border-radius:20px;overflow:hidden;box-shadow:0 9px 27px #3c353312;margin-bottom:24px;text-decoration:none;transition:transform .25s,box-shadow .25s}.featured-tile:hover,.product-tile:hover,.mini-card:hover{transform:translateY(-5px);box-shadow:0 19px 37px #23312d26}.featured-tile .image-wrap{height:325px;background:#091b22}.featured-tile img{height:100%;width:100%;display:block;object-fit:cover}.featured-body{padding:clamp(28px,4vw,53px);align-self:center}.tiny-tag{font-size:.71rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:#edce92}.featured-body h3{font-size:clamp(1.95rem,3.2vw,2.8rem);font-weight:400;letter-spacing:-.03em;margin:12px 0}.featured-body p{color:#d7e2dd;line-height:1.72;margin:0 0 17px}.featured-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:28px}.featured-meta strong{font-size:1.75rem;font-family:Georgia,serif;color:#ffde9e}.view-item{font-size:.9rem;font-weight:900;text-decoration:underline;text-underline-offset:6px}.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-tile{border:1px solid var(--line);background:white;border-radius:17px;overflow:hidden;text-decoration:none;box-shadow:0 8px 26px #3b2c1b10;transition:transform .25s,box-shadow .25s;display:block}.product-tile .tile-photo{position:relative;overflow:hidden;background:#263e39}.product-tile img{width:100%;height:235px;object-fit:cover;display:block;transition:transform .3s}.product-tile:hover img{transform:scale(1.035)}.tile-price{position:absolute;right:15px;top:14px;background:#fff8ed;color:#972f3a;border-radius:9px;padding:9px 12px;font-weight:900;box-shadow:0 3px 10px #0002}.tile-body{padding:24px 22px 25px}.tile-body .kicker{font-size:.66rem}.tile-body h3{font-size:1.45rem;letter-spacing:-.02em;font-weight:400;line-height:1.22;margin:10px 0}.tile-body p{font-size:.93rem;color:#697776;line-height:1.6;min-height:46px}.tile-bottom{padding-top:15px;margin-top:16px;border-top:1px solid #eee7da;display:flex;justify-content:space-between;align-items:center;gap:10px}.tile-bottom small{color:#9a5156;font-weight:800}.tile-bottom span{color:#a32b3b;font-size:.9rem;font-weight:900}.per-item-note{text-align:center;color:#627371;font-size:.87rem;margin:25px 0 0}
.craft{background:linear-gradient(140deg,#0d292b,#1a423a);color:white;padding:71px 28px 82px}.craft-inner{max-width:1160px;margin:auto}.craft .section-intro h2{color:#fff9e8}.craft .section-intro p{color:#d7e5dd}.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.craft-card{border:1px solid #ffffff32;background:#ffffff0a;border-radius:15px;text-align:center;padding:28px 26px}.craft-icon{font-size:2rem}.craft-card h3{font:700 1.17rem Georgia,serif;margin:14px 0 9px}.craft-card p{color:#d3dfd9;line-height:1.7;font-size:.9rem;margin:0}.banner{padding:55px 28px;text-align:center;background:#f3e5d1}.banner h2{font-size:clamp(1.9rem,3.7vw,2.75rem);font-weight:400;margin:0 0 14px}.banner p{margin:0;color:#60706c;line-height:1.65}.banner a{display:inline-flex;margin-top:23px}
.footer{background:#0a2027;color:#d8e1dc;padding:38px 28px 46px;text-align:center}.footer-logo{color:#ffe2a8;font:700 1.45rem Georgia,serif}.footer p{font-size:.88rem;line-height:1.7;margin:13px 0 0}.footer a{color:#ffe2a8}
/* Product details */
.mini-hero{position:relative;overflow:hidden;background:linear-gradient(130deg,#0d2a2e,#143b3a);color:white;padding:34px 28px}.mini-hero-inner{max-width:1210px;position:relative;margin:auto}.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#e3d6c4;font-size:.9rem}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.breadcrumbs span{color:#e8bd7c}.detail-area{max-width:1250px;margin:auto;padding:55px 28px 90px;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(350px,.83fr);align-items:start;gap:clamp(28px,5vw,68px)}.gallery-main-wrap{position:relative}.gallery-main-btn{border:0;display:block;position:relative;width:100%;background:#162d30;border-radius:19px;overflow:hidden;padding:0;box-shadow:0 14px 34px #2c2a251e}.gallery-main{display:block;width:100%;aspect-ratio:1.18;object-fit:contain;background:#173337}.zoom-hint{position:absolute;right:16px;bottom:17px;background:#0b252ad9;color:white;font-size:.8rem;border-radius:8px;padding:9px 13px;font-weight:800}.gallery-thumbs{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.thumb{background:#fff;border:3px solid transparent;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1.12}.thumb.active{border-color:#b0444d;box-shadow:0 0 0 1px #b0444d}.thumb img{display:block;width:100%;height:100%;object-fit:cover}.gallery-caption{font-size:.85rem;color:#647270;line-height:1.62;margin:18px 0}.detail-head .kicker{margin-bottom:13px}.detail-head h1{color:#213f3d;font-size:clamp(2.5rem,4.7vw,4rem);line-height:1.08;font-weight:400;letter-spacing:-.045em;margin:10px 0 17px}.detail-description{color:#617371;font-size:1.03rem;line-height:1.8}.price-display{display:flex;gap:16px;align-items:baseline;margin:21px 0 16px}.price-display strong{font:700 3.45rem Georgia,serif;color:#a93242;line-height:1}.price-display span{color:#6d7c79;font-weight:800}.detail-chips{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 28px}.detail-chips span{background:#f2e7d4;border-radius:30px;color:#4e5146;font-size:.78rem;padding:9px 12px;font-weight:800}.description-list{padding:0;list-style:none;margin:20px 0 26px}.description-list li{padding:7px 0;color:#344b47;line-height:1.6}.description-list li:before{content:'✦';color:#b3484c;margin-right:12px}.buy-panel{border:1px solid #e9dbc8;border-radius:16px;padding:27px;background:#fff;box-shadow:0 8px 26px #3a3a2620}.buy-panel h2{font-size:1.4rem;font-weight:400;margin:0 0 8px}.buy-panel p{margin:0;font-size:.87rem;line-height:1.55;color:#6b7774}.buy-qty{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:23px 0 15px;font-size:.94rem;font-weight:800}.counter{display:flex;align-items:center;border:1px solid #ddd1c2;border-radius:9px;overflow:hidden}.counter button{width:40px;height:42px;background:#f9f4ed;border:0;font-size:1.35rem;color:#2d4543}.counter button:hover{background:#eee0ce}.counter output{display:block;width:44px;text-align:center}.buy-total{border-top:1px solid #eadfce;padding:19px 0 20px;display:flex;align-items:center;justify-content:space-between;font-weight:900}.buy-total strong{font-size:1.45rem;color:#a93040}.order-btn{width:100%;border:0;padding:16px;border-radius:9px;background:#ad3444;color:white;font-weight:900}.order-btn:hover{background:#8e2837}.feedback{min-height:18px;margin:9px 0!important;text-align:center;color:#266b48!important;font-weight:800}.enquiry-label{display:block;font-size:.81rem;font-weight:800;margin:14px 0 8px}.enquiry-message{width:100%;min-height:82px;resize:vertical;padding:13px;border:1px solid #dfd4c6;border-radius:9px;background:#fffcf7;color:#2a423e;font-size:.86rem;line-height:1.5}.noncheckout{margin-top:11px!important}.detail-callout{background:#f3e6d2;border-left:4px solid #b44650;padding:14px 17px;margin:22px 0 0;border-radius:0 8px 8px 0;color:#4c5751;line-height:1.65;font-size:.89rem}.related{background:#f4ece0;padding:69px 28px 84px}.related-inner{max-width:1150px;margin:auto}.related h2{text-align:center;font-size:clamp(2.1rem,4vw,3rem);font-weight:400;letter-spacing:-.035em;margin:0 0 28px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-card{background:#fff;border:1px solid #e5dace;overflow:hidden;border-radius:13px;display:block;text-decoration:none;transition:transform .25s,box-shadow .25s}.mini-card img{width:100%;height:175px;object-fit:cover;display:block}.mini-info{padding:16px 19px}.mini-info h3{font-weight:400;font-size:1.24rem;margin:0 0 7px}.mini-info p{color:#b03c48;font-weight:900;font-size:.87rem;margin:0}
.photo-dialog{padding:0;border:0;border-radius:15px;width:min(95vw,1100px);max-width:none;max-height:94vh;overflow:hidden;background:#0b2229;color:#fff}.photo-dialog::backdrop{background:#051013e8}.dialog-image{display:block;max-width:100%;max-height:78vh;object-fit:contain;margin:auto}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:10px 17px;gap:15px}.dialog-top p{margin:0;font-size:.9rem}.dialog-top button,.dialog-bottom button{background:#ffffff22;color:#fff;border:1px solid #ffffff88;padding:8px 14px;border-radius:7px}.dialog-bottom{display:flex;justify-content:space-between;padding:13px 18px;gap:14px}
@media(max-width:1050px){.hero-inner{gap:29px}.hero-photo img{min-height:330px}.detail-area{gap:30px;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr)}.gallery-main{aspect-ratio:1.05}}
@media(max-width:790px){.header-inner{padding:18px 20px}.header-links{gap:13px}.header-links a{font-size:.78rem}.hero-inner{grid-template-columns:1fr;padding:58px 21px 62px;gap:30px}.hero h1{max-width:630px}.hero-photo img{aspect-ratio:1.8;min-height:0}.photo-stamp{width:96px;height:96px;right:0;bottom:-17px}.collection{padding:62px 20px}.featured-tile{grid-template-columns:1fr}.featured-tile .image-wrap{height:auto;aspect-ratio:2.35}.featured-body{padding:30px}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-grid{grid-template-columns:1fr;gap:12px}.craft-card{padding:20px}.detail-area{grid-template-columns:1fr;max-width:700px;padding:38px 20px 75px}.gallery-main{aspect-ratio:1.35}.detail-head h1{font-size:3rem}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.announcement{font-size:.62rem}.header-inner{align-items:flex-start;flex-direction:column;gap:16px}.header-links{justify-content:space-between;width:100%;gap:8px}.pill-link{padding:9px 13px}.hero h1{font-size:clamp(2.75rem,12vw,3.6rem)}.hero-actions{gap:12px}.hero-photo img{aspect-ratio:1.35}.promise-bar{font-size:.76rem;line-height:1.75}.promise-bar span{margin:0 4px}.section-intro h2{font-size:2.65rem}.featured-tile .image-wrap{aspect-ratio:1.7}.featured-meta{align-items:flex-start}.tile-grid{grid-template-columns:1fr;gap:17px}.product-tile img{height:265px}.craft{padding:59px 20px}.gallery-thumbs{gap:5px}.thumb{border-width:2px}.gallery-main{aspect-ratio:1.1}.detail-head h1{font-size:2.65rem}.price-display strong{font-size:2.9rem}.related-grid{grid-template-columns:1fr}.mini-card img{height:200px}.photo-dialog{width:96vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Refreshed two-collection layout */
.announcement{background:#a53743}
.header .brand{display:inline-flex;align-items:center}
.two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.two-grid .product-tile{border-radius:19px}
.two-grid .tile-photo img{height:352px}
.two-grid .tile-body{padding:26px 28px 28px}
.two-grid .tile-body h3{font-size:2.0rem;margin:12px 0}
.two-grid .tile-body p{min-height:0;margin:0 0 12px;font-size:.97rem}
.two-grid .tile-bottom{margin-top:19px}
.two-grid .tile-bottom span{white-space:nowrap}
.card-photos{position:absolute;left:15px;bottom:15px;color:#fff;background:#0a2029d9;padding:8px 11px;border-radius:6px;font-size:.79rem;font-weight:800}
.hero-short .hero-inner{padding-top:64px;padding-bottom:65px}
.hero-short h1{font-size:clamp(2.8rem,5.8vw,5.3rem)}
.hero-photo img{aspect-ratio:1.34;min-height:340px}
.page-subtitle{font-size:.84rem;color:#ebcb99;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.stock-unconfirmed{color:#a73543;font:700 clamp(1.7rem,3vw,2.5rem) Georgia,serif;letter-spacing:-.02em}
.price-display.price-unconfirmed{margin:25px 0}
.gallery-thumbs{grid-template-columns:repeat(6,minmax(0,1fr))}
.gallery-main{aspect-ratio:1.15}
.related-grid.related-single{display:grid;grid-template-columns:minmax(0,370px);justify-content:center}
.contact-cta{display:inline-block;margin-top:16px;padding:12px 16px;background:#ede3d2;color:#384f46;border-radius:8px;font-weight:800;font-size:.83rem}
.site-label{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-size:.83rem;color:#dce9e2}
.product-note{font-weight:800;color:#8f4747;font-size:.88rem;margin-top:10px}
.hero-photo .photo-stamp{width:125px;height:125px;font-size:.75rem}
.hero-photo .photo-stamp strong{font-size:1.05rem;line-height:1.35}
.site-updated{color:#e8cf9d}
@media(max-width:790px){.two-grid{grid-template-columns:1fr}.two-grid .tile-photo img{height:340px}.related-grid.related-single{grid-template-columns:minmax(0,370px)}}
@media(max-width:520px){.hero-photo img{min-height:0}.two-grid .tile-photo img{height:260px}.two-grid .tile-body h3{font-size:1.8rem}.gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-photo .photo-stamp{width:103px;height:103px}.two-grid .tile-bottom{flex-wrap:wrap}}

/* Homepage carousel — photographs from the actual handmade products */
.hero-carousel{width:100%;min-width:0;position:relative}
.hero-carousel-viewport{position:relative;width:100%;height:clamp(250px,26vw,340px);overflow:hidden;border:5px solid #ddca9e;border-radius:20px;background:#102b2e;box-shadow:0 22px 54px #0008;isolation:isolate}
.hero-carousel-slide{position:absolute;inset:0;display:block;color:#fff;text-decoration:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.hero-carousel-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-carousel-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 7s ease-out}
.hero-carousel-slide.is-active img{transform:scale(1.045)}
.carousel-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,21,23,.96),rgba(6,21,23,.76) 21%,rgba(6,21,23,.17) 58%,transparent 85%)}
.carousel-product-overlay{position:absolute;bottom:29px;left:clamp(21px,3vw,42px);right:clamp(19px,3vw,40px);display:flex;flex-direction:column;align-items:flex-start;text-shadow:0 2px 9px #071b2190}
.carousel-kicker{color:#ffdb9a;font-size:.73rem;text-transform:uppercase;letter-spacing:.17em;font-weight:900;margin-bottom:8px}
.carousel-product-title{font:400 clamp(1.65rem,2.5vw,2.8rem)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.02em;max-width:100%}
.carousel-price-line{display:flex;gap:13px;align-items:baseline;flex-wrap:wrap;margin-top:11px}
.carousel-price-line strong{font:700 clamp(1.85rem,3vw,2.65rem)/1 Georgia,serif;color:#ffde9e}
.carousel-price-line>span{font-size:.89rem;font-weight:800;color:#f9f1e3}
.carousel-view-link{display:inline-flex;align-items:center;gap:8px;background:#bd3b49;color:white;border-radius:6px;margin-top:16px;padding:10px 16px;font-weight:900;font-size:.86rem;text-shadow:none;box-shadow:0 4px 15px #071b2140}
.hero-carousel-slide:hover .carousel-view-link,.hero-carousel-slide:focus-visible .carousel-view-link{background:#e64d59}
.carousel-arrow{position:absolute;top:38%;z-index:3;transform:translateY(-50%);width:39px;height:48px;border:1px solid #ffffff7a;border-radius:8px;background:#0b232bb5;color:white;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:background .18s,transform .18s}
.carousel-arrow:hover{background:#ad3444;transform:translateY(-50%) scale(1.07)}
.carousel-prev{left:12px}.carousel-next{right:12px}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:0 5px}
.carousel-dots{display:flex;gap:9px;align-items:center}
.carousel-dot{width:11px;height:11px;border-radius:50%;border:1px solid #d9ccbb;background:#ffffff62;padding:0;transition:background .2s,width .2s}
.carousel-dot.is-current{width:30px;border-radius:25px;border-color:#f4d59b;background:#f4d59b}
.carousel-dot:hover{background:#fff}
.carousel-counter{font-size:.85rem;color:#e9dece;font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.carousel-hint{font-size:.79rem!important;color:#dfddcf!important;margin:10px 0 0!important;line-height:1.45!important;text-align:center;max-width:none!important}
@media(max-width:790px){.hero-carousel-viewport{height:clamp(240px,45vw,330px)}.carousel-product-overlay{bottom:22px}.carousel-product-title{font-size:clamp(1.7rem,4vw,2.55rem)}}
@media(max-width:520px){.hero-carousel-viewport{height:clamp(230px,70vw,300px);border-width:4px}.carousel-product-overlay{left:22px;right:20px;bottom:20px}.carousel-product-title{font-size:1.9rem}.carousel-price-line{gap:10px;margin-top:8px}.carousel-price-line strong{font-size:2rem}.carousel-price-line>span{font-size:.75rem}.carousel-view-link{margin-top:13px;padding:10px 12px;font-size:.76rem}.carousel-kicker{font-size:.6rem}.carousel-arrow{top:31%;width:31px;height:43px;font-size:1rem}.carousel-prev{left:7px}.carousel-next{right:7px}.carousel-hint{font-size:.73rem!important}}
@media(prefers-reduced-motion:reduce){.hero-carousel-slide,.hero-carousel-slide img{transition:none!important;transform:none!important}}

/* Mixed photo/video Snowmen gallery */
.gallery-main-btn[hidden],.gallery-video-wrap[hidden],.dialog-image[hidden],.dialog-video[hidden]{display:none!important}
.gallery-video-wrap{border-radius:19px;overflow:hidden;background:#0f272b;box-shadow:0 14px 34px #2c2a251e}
.gallery-video-wrap video{display:block;width:100%;aspect-ratio:1.15;object-fit:contain;background:#0f272b}
.thumb-video{position:relative;cursor:pointer}
.thumb-video::after{content:'▶';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:white;font-size:1.5rem;text-shadow:0 2px 8px #000;background:#0003}
.thumb-video-tag{position:absolute;left:3px;bottom:3px;z-index:1;color:white;background:#ad3444;border-radius:4px;font-size:.57rem;font-weight:900;padding:2px 4px}
.dialog-video{display:block;margin:auto;width:min(100%,1050px);max-height:76vh;background:#081c1f}

/* Three product collections on home; allow up to five in homepage slider. */
.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.three-grid .product-tile{border-radius:19px;min-width:0}
.three-grid .tile-photo img{height:285px;object-fit:cover}
.three-grid .tile-body{padding:23px 22px 25px}
.three-grid .tile-body h3{font-size:clamp(1.35rem,1.9vw,1.85rem);margin:10px 0}
.three-grid .tile-body p{min-height:0;font-size:.91rem;line-height:1.65}
.three-grid .tile-bottom{margin-top:19px;gap:8px;align-items:flex-start;flex-wrap:wrap}
.three-grid .tile-bottom span{white-space:normal}
.related-grid.related-pair{grid-template-columns:repeat(2,minmax(0,370px));justify-content:center}
@media(max-width:980px){.three-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-grid .tile-photo img{height:295px}}
@media(max-width:620px){.three-grid{grid-template-columns:1fr}.three-grid .tile-photo img{height:auto;aspect-ratio:1.55}.related-grid.related-pair{grid-template-columns:1fr}}

/* Gemma-Creations brand strapline */
.header .brand{display:inline-flex;align-items:center;gap:0;text-decoration:none}
.header .brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.header .brand-name{display:block;line-height:1.05;letter-spacing:-.04em}
.header .brand-tagline{display:block;color:#ead9b8;font:500 clamp(.67rem,.95vw,.79rem)/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.055em;white-space:nowrap}
.header .brand .spark{align-self:flex-start;margin-top:.28em}
@media(max-width:520px){.header .brand-tagline{font-size:.72rem;letter-spacing:.02em}}



/* Direct Facebook enquiry link, displayed beneath the copy enquiry button. */
.contact-gemma-link{display:block;margin-top:12px;padding:13px 16px;border:1px solid #b79d76;border-radius:9px;background:#f8f1e6;color:#274b46;font-size:.94rem;font-weight:800;text-decoration:none;text-align:center;transition:background .2s,color .2s}
.contact-gemma-link:hover,.contact-gemma-link:focus-visible{background:#e8d9c2;color:#173630;text-decoration:underline;text-underline-offset:4px}
.contact-gemma-link:focus-visible{outline:3px solid #ac4050;outline-offset:2px}

/* Customer reviews, embedded below each product's photo/video gallery. */
.customer-reviews{margin-top:38px;background:#fffdf7;border:1px solid #e7dccb;padding:clamp(18px,3vw,29px);border-radius:17px;box-shadow:0 12px 30px #1d383011}
.review-eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#a54b56;font-size:.69rem;font-weight:800}
.review-header h2{font-family:Georgia,serif;font-size:clamp(1.6rem,2.6vw,2rem);color:#244641;font-weight:normal;margin:6px 0 7px}
.reviews-summary{font-size:.92rem;color:#576761;margin:0 0 17px}
.reviews-list{display:grid;gap:13px}
.customer-review{padding:15px 16px;background:#f6f4ec;border-radius:10px;border:1px solid #e7e1d6}
.customer-review .review-meta{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;align-items:center}
.customer-review .review-author{font-weight:800;color:#1d423b;overflow-wrap:anywhere}
.customer-review .review-date{font-size:.77rem;color:#6a7974}
.customer-review .review-stars{color:#ae7032;letter-spacing:.07em;white-space:nowrap}
.customer-review p{margin:9px 0 0;color:#39514d;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.reviews-empty{padding:18px;color:#586966;background:#f3f1e9;border-radius:9px;font-size:.9rem}
.review-form{margin-top:23px;padding-top:19px;border-top:1px solid #e4ded4}
.review-form h3{color:#2d5049;font:normal 1.48rem Georgia,serif;margin:0 0 6px}
.review-form>p{color:#5f716c;font-size:.85rem;line-height:1.5}
.review-form-line{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.review-form label{display:block;color:#31544d;font-size:.87rem;font-weight:750;margin:12px 0 0}
.review-form input,.review-form select,.review-form textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #c9d2c8;border-radius:8px;background:#fff;color:#203b36;font:inherit;min-height:45px}
.review-form textarea{resize:vertical;min-height:100px}
.review-form :is(input,select,textarea):focus{outline:2px solid #247e61;outline-offset:1px}
.review-submit{cursor:pointer;margin-top:15px;background:#234d41;color:white;font-weight:800;border:0;border-radius:10px;padding:13px 23px;min-height:45px}
.review-submit:hover{background:#1b3d34}.review-submit:disabled{opacity:.6;cursor:wait}
.review-feedback{min-height:1.5em;margin-top:9px!important;font-weight:750!important;color:#27624c!important}
.review-feedback.is-error{color:#a13240!important}
.review-form .review-privacy{font-size:.77rem;color:#64716b;margin-top:6px}
.review-honeypot{position:absolute!important;left:-9999px!important;height:1px!important;overflow:hidden!important}
@media(max-width:500px){.review-form-line{grid-template-columns:1fr}}

/* Simple star ratings: show a little golden accent for the rating selector. */
.review-form select[name="rating"]{color:#93611f;font-weight:800;cursor:pointer}
.reviews-summary{font-weight:700;color:#8a5e20}

/* Basket controls and order enquiry checkout */
.basket-nav-link{color:#f3d49f!important;font-weight:750;text-decoration:none;white-space:nowrap}
.basket-nav-link [data-basket-count]{background:#a53f45;color:white;border-radius:20px;padding:2px 7px;font-size:12px}
.basket-tile-wrap{display:flex;flex-direction:column;min-width:0}
.basket-tile-wrap .product-tile{flex:1;display:flex;flex-direction:column}
.basket-tile-wrap .tile-body{flex:1;display:flex;flex-direction:column}
.basket-tile-wrap .tile-bottom{margin-top:auto}
.basket-add{border:0;border-radius:12px;background:#13726b;color:white;font:inherit;font-weight:750;padding:13px 18px;cursor:pointer}
.basket-add:hover,.basket-add:focus-visible{background:#0a5550}
.tile-add{margin:10px 0 0;width:100%}
.basket-add-detail{width:100%;margin:10px 0}
.basket-add-feedback{font-size:14px;color:#196c56;min-height:0;margin:3px 0}
.basket-page{max-width:1080px;margin:0 auto;padding:28px 18px 65px;min-height:60vh}
.basket-page h1{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 12px}
.basket-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:26px;margin-top:25px}
.basket-box{background:#fff;border:1px solid #e0e6e1;border-radius:17px;padding:23px;box-shadow:0 8px 25px #172d3014}
.basket-item{display:grid;grid-template-columns:86px 1fr auto;gap:15px;align-items:center;border-bottom:1px solid #e9ece7;padding:15px 0}
.basket-item img{width:86px;height:86px;object-fit:cover;border-radius:10px}
.basket-item h3{margin:0 0 5px;font-size:17px}.basket-item p{margin:4px 0}
.basket-qty{display:flex;align-items:center;gap:9px}.basket-qty button,.basket-remove{border:1px solid #adbeba;border-radius:8px;background:#fff;padding:5px 10px;cursor:pointer}
.basket-remove{color:#9b3443;margin-top:6px}
.basket-line-total{white-space:nowrap;font-weight:750}
.basket-summary-total{display:flex;justify-content:space-between;font-size:21px;font-weight:800;margin-top:20px}
.basket-box label{display:block;font-weight:650;margin:14px 0 7px}
.basket-box input,.basket-box textarea{display:block;box-sizing:border-box;width:100%;padding:11px;border:1px solid #aebdb5;border-radius:8px;font:inherit}
.basket-box textarea{min-height:90px}
.basket-submit{display:block;width:100%;margin-top:20px;border:0;background:#13726b;color:#fff;border-radius:10px;padding:13px;font:inherit;font-weight:750;cursor:pointer}
.basket-submit:disabled{background:#94a7a2;cursor:not-allowed}
.basket-note{font-size:14px;color:#5a6c6c;line-height:1.5}
.basket-feedback{color:#267055;font-weight:650;margin:7px 0}
@media(max-width:780px){.basket-layout{grid-template-columns:1fr}.basket-item{grid-template-columns:65px 1fr}.basket-item img{width:65px;height:65px}.basket-line-total{grid-column:2}}

/* Add to Basket is INSIDE each product card, beneath "Handmade at Gemma-Creations". */
.three-grid .basket-product-card{display:flex;flex-direction:column;overflow:hidden;min-width:0}
.basket-product-link{display:flex;flex:1;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
.basket-product-link:focus-visible{outline:3px solid #b74752;outline-offset:-3px;border-radius:14px}
.basket-product-link .tile-body{flex:1;display:flex;flex-direction:column}
.basket-product-link .tile-bottom{margin-top:auto}
.tile-basket-action{padding:0 22px 22px}
.tile-basket-action .tile-add{display:block;width:100%;margin:0;padding:13px 18px;min-height:46px}
html[data-theme="dark"] .basket-product-link{color:inherit}

/* Limited stock badges (admin quantity tracking) */
.stock-inline{font-size:.8rem;font-weight:700;margin:4px 0 8px;color:#8f2b36}.stock-product-label{font-weight:750;color:#8f2b36;margin:8px 0}.basket-add:disabled{background:#727b7a!important;color:white!important;cursor:not-allowed;opacity:.75}

/* Optional Size, Weight and Material facts on the product page. */
.product-specs{border:1px solid #e7dbc9;background:#fffaf3;padding:18px 20px;margin:20px 0 22px;border-radius:12px}
.product-specs h2{font:600 1.1rem/1.3 Georgia,'Times New Roman',serif;color:#284b47;margin:0 0 11px}
.product-specs dl{padding:0;margin:0}
.product-spec-row{display:grid;grid-template-columns:minmax(105px,36%) minmax(0,1fr);gap:14px;padding:10px 0;border-top:1px solid #e7ded2;align-items:baseline}
.product-spec-row dt{font-weight:800;color:#425955;font-size:.85rem}
.product-spec-row dd{color:#2d4944;margin:0;overflow-wrap:anywhere;line-height:1.5}
@media(max-width:520px){.product-specs{padding:14px 16px}.product-spec-row{grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:10px}}

/* Optional customer account navigation */
.header-links .customer-portal-link{white-space:nowrap;text-decoration:none;font-weight:650}
.header-links .customer-portal-link:hover{text-decoration:underline}

/* Compact stock-area basket button on product detail pages. */
.stock-basket-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.stock-basket-row .stock-product-label{margin:0}
.basket-add-stock{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:33px;padding:6px 11px;font-size:12px;line-height:1.25;border-radius:8px;white-space:nowrap;flex:0 0 auto}
.stock-basket-row .stock-add-feedback{flex:1 1 100%;width:100%;margin:0;min-height:0;line-height:1.35}

/* Product-page quantity is displayed beside the available stock; enquiry panel is message-only. */
.stock-basket-row{gap:12px 14px;align-items:center}
.stock-basket-row .stock-qty{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;font-size:.87rem;font-weight:800;color:#344b47}
.stock-basket-row .stock-qty .counter button{width:36px;height:36px;min-height:36px}
.stock-basket-row .stock-qty .counter output{width:36px;min-width:36px;font-variant-numeric:tabular-nums}
.stock-basket-row .basket-add-stock{min-height:37px;padding:8px 12px}
@media(max-width:520px){.stock-basket-row{column-gap:10px;row-gap:10px}.stock-basket-row .stock-qty{font-size:.82rem;gap:6px}.stock-basket-row .stock-qty .counter button{width:34px}.stock-basket-row .stock-qty .counter output{width:30px;min-width:30px}}
html[data-theme="dark"] .stock-basket-row .stock-qty{color:#f1f0e7}

/* Compact product enquiry panel; basket and quantity controls retain their existing styles. */
.buy-panel{padding:16px;border-radius:12px;box-shadow:0 3px 12px #3a3a2612}
.buy-panel h2{font-size:1.08rem;line-height:1.35;margin:0 0 6px}
.buy-panel p{font-size:.8rem;line-height:1.45}
.buy-panel .order-btn{width:auto;max-width:100%;min-height:40px;padding:9px 13px;margin-top:10px;font-size:.8rem;font-weight:700;border-radius:7px}
.buy-panel .contact-gemma-link{font-size:.8rem;line-height:1.4;margin:8px 0;padding:5px 0}
.buy-panel .feedback{font-size:.78rem;min-height:0;margin:6px 0!important}
.buy-panel .feedback:empty{display:none}
.buy-panel .enquiry-label{font-size:.76rem;margin:8px 0 5px}
.buy-panel .enquiry-message{box-sizing:border-box;height:60px;min-height:60px;padding:8px 10px;font-size:.8rem;line-height:1.4;resize:vertical}
.buy-panel .noncheckout{font-size:.74rem;line-height:1.4;margin-top:7px!important}

/* Compact shop homepage: bring the category tabs, search and products closer to the top. */
.hero-short .hero-inner{padding-top:34px;padding-bottom:38px;gap:28px}
.hero-short h1{font-size:clamp(2.45rem,4.5vw,4.05rem);margin-top:13px;margin-bottom:13px}
.hero-short .hero-actions{margin-top:20px}
.hero-carousel .carousel-product-overlay{bottom:17px}
.hero-carousel .carousel-product-title{font-size:clamp(1.35rem,2vw,2.05rem)}
.hero-carousel .carousel-price-line{margin-top:7px}
.hero-carousel .carousel-price-line strong{font-size:clamp(1.5rem,2.3vw,2rem)}
.hero-carousel .carousel-view-link{margin-top:9px;padding:8px 12px}
.hero-carousel .carousel-controls{margin-top:9px}
.collection{padding-top:30px;padding-bottom:65px}
@media(max-width:790px){
 .hero-short .hero-inner{padding-top:32px;padding-bottom:35px;gap:22px}
 .hero-short h1{font-size:clamp(2.45rem,6vw,3.3rem)}
 .collection{padding-top:24px;padding-bottom:55px}
}
@media(max-width:520px){
 .hero-short .hero-inner{padding-top:26px;padding-bottom:28px;gap:18px}
 .hero-short h1{font-size:clamp(2.35rem,10vw,3rem)}
 .hero-carousel .carousel-product-overlay{bottom:12px;left:16px;right:16px}
 .hero-carousel .carousel-product-title{font-size:1.35rem}
 .hero-carousel .carousel-price-line strong{font-size:1.55rem}
 .hero-carousel .carousel-view-link{padding:7px 10px;margin-top:7px;font-size:.73rem}
 .hero-carousel .carousel-kicker{margin-bottom:4px;letter-spacing:.08em}
 .collection{padding-top:18px;padding-bottom:48px}
}


/* Compact "Our handmade promise" section: shorter copy, slimmer cards and mobile layout. */
.craft{padding:30px 20px 34px}
.craft-inner{max-width:940px}
.craft .section-intro{max-width:560px;margin:0 auto 16px}
.craft .section-intro .eyebrow{font-size:.7rem;line-height:1.3;letter-spacing:.11em}
.craft .section-intro h2{font-size:clamp(1.55rem,2.8vw,2.1rem);line-height:1.18;letter-spacing:-.025em;margin:6px 0 5px}
.craft .section-intro p{font-size:.89rem;line-height:1.4}
.craft-grid{gap:12px}
.craft-card{padding:14px 13px;border-radius:12px}
.craft-icon{font-size:1.45rem;line-height:1.15}
.craft-card h3{font-size:1.01rem;line-height:1.25;margin:6px 0 4px}
.craft-card p{font-size:.8rem;line-height:1.35}
@media(max-width:790px){
  .craft{padding:26px 18px 29px}
  .craft-grid{gap:9px}
  .craft-card{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;text-align:left;align-items:center;padding:11px 14px}
  .craft-icon{grid-column:1;grid-row:1 / span 2;align-self:center;font-size:1.35rem}
  .craft-card h3{grid-column:2;grid-row:1;margin:0;font-size:.97rem}
  .craft-card p{grid-column:2;grid-row:2}
}
@media(max-width:520px){
  .craft{padding:22px 16px 25px}
  .craft .section-intro{margin-bottom:12px}
  .craft .section-intro h2{font-size:1.62rem}
  .craft .section-intro p{font-size:.83rem}
  .craft-card{padding:10px 12px}
}
