/* Spark Nova: original storefront inspired by the reference's green-and-gold retail system. */
:root{--ink:#1b3329;--muted:#697069;--berry:#204b38;--pink:#e7dcc0;--ivory:#fff;--line:#e4e8e1}
body{background:#fff;color:var(--ink)}
.container{width:min(1400px,calc(100% - 48px))}
em{color:#49704e}
.button{border-radius:6px;min-height:48px;font-weight:600}
.dark{background:#193c2c}.dark:hover{background:#2e5940}
.outline{border-color:#8c9c87}.outline:hover{background:#f3f5ef}
.text-link{font-weight:600;border-color:#c7b98e}
input,select,textarea{border-radius:6px;border-color:#d6ded2;background:#fff}
.notice{background:#edf3eb;border-color:#477b50}
.store-announcement{display:flex;justify-content:center;align-items:center;gap:24px;min-height:32px;padding:6px 20px;background:#f5efdf;color:#374c35;font-size:10px;font-weight:500}
.store-announcement a{font-size:10px;text-decoration:underline;text-underline-offset:3px}
.store-header-shell{position:sticky;top:0;z-index:100;background:#183c2d;box-shadow:0 2px 10px #19392c0a}
.site-header{height:auto;min-height:94px;display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:30px;padding:16px 34px;background:#183c2d;position:relative;max-width:1600px;margin:auto}
.brand{display:flex;align-items:center;justify-content:center;width:98px;height:65px;background:#fffdf6;border-radius:7px;padding:4px 8px}
.brand img{width:86px;height:57px;object-fit:contain}
.header-search{display:flex;align-items:center;width:100%;max-width:none;border:1px solid #aa945a;border-radius:5px;background:transparent;min-width:0;overflow:hidden}
.header-search select{width:145px;border:0;border-right:1px solid #8c8354;flex-shrink:0;background:transparent;color:#e2c17a;border-radius:0;padding:8px 14px;font-size:12px;height:35px}
.header-search select option{background:#fff;color:var(--ink)}
.header-search input{min-width:0;flex:1;width:100%;font-size:13px;color:#fff6dd;background:transparent;padding:12px 15px}
.header-search input::placeholder{color:#c6c5ae;opacity:1}
.header-search button{display:grid;place-items:center;flex-shrink:0;padding:12px 16px;min-width:44px;border:0;background:transparent;color:#e6c67c}
.header-actions{gap:24px;color:#e5c779;font-size:11px;white-space:nowrap}
.header-actions>a{display:flex;flex-direction:column;align-items:center;min-width:36px;justify-content:center;min-height:44px}
.header-actions>a:hover{color:#fff7dd}
.header-actions .nav-symbol{height:27px;font-size:28px;display:flex;align-items:center}
.header-actions .action-label{font-size:9px;letter-spacing:.3px;margin-top:6px}
.bag-count{background:#efcf7f;color:#193c2c;font-weight:700;right:-8px}
.category-nav{background:#183c2d;color:#f1e9cc;border:0;min-height:47px;gap:25px;padding:5px 24px 13px;font-size:12px;flex-wrap:wrap;white-space:normal}
.category-nav a:hover{color:#edcf82}
.category-nav .sale-link{color:#efcc75;font-weight:600}
.mobile-menu{display:none}
.campaign-wrap{margin-top:16px;width:calc(100% - 32px);max-width:1536px}
.campaign-stage{position:relative;border-radius:14px;overflow:hidden;background:#f4ead9}
.campaign-slide{position:relative;min-height:440px;height:clamp(440px,38vw,570px);overflow:hidden}
.campaign-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.campaign-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fcf3e5b3 0%,#fcf3e54d 36%,transparent 56%);pointer-events:none}
.campaign-copy{position:relative;z-index:1;width:48%;max-width:680px;padding:50px 0 45px 5%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.campaign-kicker{font-size:10px;font-weight:600;letter-spacing:2px;color:#5c6248}
.campaign-kicker>span{font-size:17px;margin-right:8px}
.campaign-copy h1{font-size:clamp(46px,4.8vw,75px);line-height:1.04;letter-spacing:-2.5px;margin:22px 0 20px;color:#153b29}
.campaign-copy h1 em{color:#617348}
.campaign-copy p{max-width:380px;font-size:13px;line-height:1.85;color:#58604c;margin-bottom:22px}
.campaign-copy .button{gap:28px;font-size:12px;padding:14px 23px;box-shadow:0 5px 16px #193c2c16}
.campaign-price-note{font-size:10px;color:#657055;margin-top:16px}
.campaign-controls{position:absolute;z-index:2;right:24px;bottom:20px;display:flex;align-items:center;background:#fffdf5ed;border:1px solid #e5ddc7;border-radius:30px;padding:3px}
.campaign-controls>button{background:transparent;border:0;min-height:36px;width:38px;padding:3px;border-radius:50%;font-size:19px}
.campaign-dots{display:flex;align-items:center;gap:2px;padding:0 5px}
.campaign-dots button{background:transparent;border:0;min-width:26px;min-height:36px;padding:8px}
.campaign-dots span{display:block;width:7px;height:7px;border-radius:50%;background:#c8cbbb}
.campaign-dots button[aria-pressed=true] span{width:18px;border-radius:8px;background:#244c34}
.collection-promos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}
.collection-promo{min-height:220px;border-radius:12px;position:relative;overflow:hidden;padding:27px 32px;display:flex;align-items:center}
.collection-promo>div{position:relative;z-index:1;width:60%}
.promo-ivory{background:linear-gradient(110deg,#f5eedb,#e7e8d4);color:#23412a}
.promo-green{background:linear-gradient(120deg,#214d37,#102f23);color:#fff5db}
.collection-promo h2{font-size:35px;margin:10px 0 13px;line-height:1.05}
.collection-promo .eyebrow{font-size:8px;letter-spacing:1.7px}
.collection-promo img{position:absolute;right:22px;bottom:20px;width:36%;height:180px;object-fit:cover;border-radius:90px;background:#ece7d7;transition:transform .3s}
.collection-promo:hover img{transform:scale(1.04)}
.promo-green .eyebrow,.promo-green h2 em{color:#dfc984}
.promo-cta{display:inline-flex;gap:18px;align-items:center;font-size:11px;font-weight:600;border-bottom:1px solid #82906a;padding-bottom:5px}
.promo-green .promo-cta{border-color:#a89a67}
.store-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:23px 25px;margin-top:26px;background:#f7f8f3;border-radius:10px;border:1px solid #ebeee4}
.store-benefits>div{display:flex;align-items:center;gap:13px;min-width:0}
.store-benefits>div+div{border-left:1px solid #dfe5d7;padding-left:24px}
.store-benefits>div>span{height:37px;width:37px;display:grid;place-items:center;border:1px solid #d4ddc7;border-radius:50%;font-size:24px;color:#4d6a41;flex-shrink:0}
.store-benefits strong{display:block;font-size:11px;font-weight:600}
.store-benefits small{display:block;font-size:9px;color:#707863;margin-top:3px}
.store-section{padding-top:50px;padding-bottom:5px}
.store-section .section-heading{margin-bottom:24px;align-items:center}
.store-section .section-heading h2{font-family:var(--sans);font-size:30px;font-weight:600;letter-spacing:-1px;margin:8px 0 0;line-height:1.2}
.store-section .section-heading h2 em{font-family:var(--serif);font-weight:400}
.store-section .section-heading .eyebrow{font-size:9px;letter-spacing:1.5px;color:#7d784d}
.section-heading.centered{justify-content:center;text-align:center}
.section-heading.centered p{font-size:12px;color:#737a6b;margin:10px 0 0}
.category-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(110px,1fr);gap:25px;overflow-x:auto;padding:4px 0 10px;scroll-snap-type:x proximity}
.category-tile{scroll-snap-align:start;min-width:0}
.category-tile>div{border-radius:50%;aspect-ratio:1;max-width:160px;margin:0 auto;border:1px solid #e6e9de;background:#f6f3e8;padding:5px}
.category-tile img{border-radius:50%;object-fit:cover}
.category-tile h3{font-size:12px;justify-content:center;text-align:center;gap:8px;margin-top:13px;font-weight:600}
.category-tile h3>span{font-size:11px;color:#758162}
.shelf-navigation{display:flex;align-items:center;gap:9px}
.shelf-navigation .text-link{font-size:11px;margin-right:12px;min-height:36px;display:flex;align-items:center;gap:8px}
.shelf-arrow{width:36px;height:36px;border-radius:50%;border:1px solid #d5ddcb;background:#fff;padding:3px;font-size:17px}
.shelf-arrow:hover{background:#f0f4e9}
.product-grid{gap:20px}
.product-shelf{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:2px 1px 17px;scrollbar-width:thin;scrollbar-color:#c7d4bc #f4f6ee}
.product-shelf .product-card{scroll-snap-align:start}
.product-card{border:1px solid #e4e8de;background:#fff;border-radius:12px;overflow:hidden;min-width:0;height:100%;display:flex;flex-direction:column}
.product-photo{border-radius:0;aspect-ratio:1/1.05;background:#f5f3eb;flex-shrink:0}
.product-photo>a>img{object-fit:cover}
.product-badge{left:11px;top:11px;background:#234d34;color:#fffbed;border-radius:4px;padding:5px 8px;font-size:8px;letter-spacing:.4px;font-weight:600}
.wish-button{top:10px;right:10px;width:31px;height:31px;color:#21462e;background:#fffdf6ed;box-shadow:0 1px 5px #173b2910}
.wish-button[aria-pressed=true]{background:#e7efdf}
.card-quick{font-size:10px;border-radius:5px;background:#fffef3ef;bottom:-55px;color:#25462e}
.product-info{padding:16px;display:flex;flex-direction:column;flex:1;min-width:0}
.product-info .eyebrow{color:#7a836e;font-size:8px;letter-spacing:1px}
.product-title{font-size:13px;font-weight:500;line-height:1.5;min-height:39px;margin:6px 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-price{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:24px}
.card-price .price{font-size:15px;color:#203b2a;font-weight:700}
.card-price .original-price{margin:0;font-size:11px;color:#868a7e}
.card-price .discount{display:none}
.card-tax-note{font-size:9px;color:#7c8274;margin:3px 0 12px}
.card-add{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:43px;width:100%;padding:10px 13px;border:1px solid #234a34;color:#234a34;border-radius:5px;background:#fff;font-size:11px;font-weight:600;margin-top:auto}
.card-add:hover{background:#234a34;color:#fff}
.card-add>span{font-size:19px;line-height:1}
.card-feedback{display:block;color:#4b6541;font-size:10px;line-height:1.5;margin-top:9px}
.price-edit{margin-top:48px;padding:35px 38px;background:#f3f0df;border:1px solid #e8e3cc;border-radius:12px;display:grid;grid-template-columns:1fr 1.5fr;gap:35px;align-items:center}
.price-edit h2{font-size:36px;margin:12px 0}
.price-edit p{font-size:12px;color:#6d735e;margin:0}
.price-edit .eyebrow{font-size:8px;color:#777447}
.price-edit-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.price-edit-links a{border:1px solid #d7d7bd;border-radius:8px;padding:20px 16px;background:#fffcf4;display:flex;flex-direction:column;min-height:140px;gap:10px}
.price-edit-links a>span:first-child{font-size:9px;color:#7c806a}
.price-edit-links strong{font-size:18px;color:#25412b;white-space:nowrap;letter-spacing:-.5px}
.price-edit-links a>span:last-child{font-size:20px;margin-left:auto}
.price-edit-links a:hover{background:#e9eddc}
.occasion-banner{margin-top:48px;min-height:380px;border-radius:12px;overflow:hidden;position:relative;background:#f5edde}
.occasion-banner>img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}
.occasion-banner>div{position:relative;z-index:1;padding:45px 5%;width:52%;background:linear-gradient(90deg,#fcf3e5b3,#fcf3e533)}
.occasion-banner .eyebrow{font-size:8px;color:#6b704c}
.occasion-banner h2{font-size:44px;margin:17px 0 15px}
.occasion-banner p{font-size:12px;color:#627053;line-height:1.8}
.occasion-banner .button{font-size:11px}
.newsletter{margin-top:55px;background:#f2f4e9;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:45px max(32px,calc((100vw - 1320px)/2))}
.newsletter h2{font-size:37px;margin:12px 0}
.newsletter p{font-size:12px;color:#69725c}
.newsletter .eyebrow{font-size:8px;color:#7b7d56}
.newsletter form{margin:0 0 12px;width:100%;max-width:490px;border:1px solid #c8d0b5;border-radius:6px;background:#fffdf5;overflow:hidden}
.newsletter input{font-size:12px;min-width:0}
.newsletter button{font-size:11px;font-weight:600;color:#24452d;padding:12px 16px;min-height:46px}
.newsletter small{font-size:9px;line-height:1.7}
.footer{background:#183c2d;color:#f3edda;padding:48px max(28px,calc((100vw - 1400px)/2));padding-bottom:0;gap:45px}
.footer-brand>img{width:95px;height:65px;background:#fffdf6;border-radius:6px;padding:5px}
.footer-brand>p{font-size:27px;color:#f5edcf;margin:19px 0 12px}
.footer h3{font-size:12px;font-weight:600;color:#e3c87d;margin-bottom:18px}
.footer a{font-size:11px;color:#d4d7bf;margin:9px 0}
.footer p{font-size:12px}
.footer small{font-size:10px;color:#c5cbb3;line-height:1.8}
.footer-gst{display:block;color:#e0c888;font-size:10px;margin-top:15px}
.footer .footer-contact{color:#efda9b;text-decoration:underline;text-underline-offset:4px}
.footer .text-button{color:#d4d7bf;padding-left:0;font-size:11px}
.footer-bottom{border-color:#4a5f44;color:#c0c8ae;font-size:9px;padding:20px 0;margin-top:8px}
.footer-bottom>span:last-child{display:flex;gap:14px}
.page-top>h1{color:#1d3e2c}
.filters{border:1px solid #e2e8d8;background:#f8f9f3;border-radius:10px;padding:23px;height:fit-content}
.filters h2{font-size:24px}
.shop-layout{grid-template-columns:220px minmax(0,1fr);gap:30px}
.catalogue-toolbar{border:1px solid #e4e9dd;padding:10px 15px;background:#fafbf6;border-radius:7px;font-size:11px}
.catalogue-toolbar select{font-size:11px}
.product-detail .main-image{border-radius:12px;overflow:hidden;border:1px solid #e6e9df;background:#f7f4ea}
.product-detail .thumbnails{overflow-x:auto;padding-bottom:8px}
.product-detail .thumbnails button{border-radius:6px;overflow:hidden;flex-shrink:0}
.detail-copy h1{font-size:35px;color:#1d3f2c;line-height:1.2}
.detail-price .price{font-size:27px}
.stock-label{color:#3e6740}
.detail-copy details{border-color:#e1e7d8}
.order-summary{background:#f3f4e9;border:1px solid #dfe5d3;border-radius:9px}
.form-panel,.order-card{border-color:#e1e7d9;border-radius:9px}
@media(max-width:1100px){
.site-header{padding:14px 24px;gap:20px;grid-template-columns:100px minmax(0,1fr) auto}
.header-actions{gap:18px}.header-search select{width:120px;padding:8px 10px;font-size:11px}
.category-nav{gap:20px;font-size:11px}
.campaign-copy{padding-left:4%;width:49%}.campaign-copy h1{font-size:53px}
.store-benefits{gap:12px;padding:21px 18px}.store-benefits>div+div{padding-left:12px}
.price-edit{grid-template-columns:1fr 1.7fr;padding:28px;gap:20px}
.price-edit-links strong{font-size:16px}.price-edit-links a{padding:16px 12px}
.collection-promo{padding:25px}.collection-promo h2{font-size:31px}
.footer{gap:28px}
}
@media(max-width:900px){
.site-header{grid-template-columns:28px 1fr auto;gap:10px 18px;min-height:0;padding:12px 22px;max-width:none}
.brand{justify-self:start;margin-left:9px;width:83px;height:53px}.brand img{width:72px;height:46px}
.mobile-menu{display:block;align-self:center}
.mobile-menu>summary{display:grid;place-items:center;min-height:44px;min-width:30px;color:#e7cb86;cursor:pointer;list-style:none}
.mobile-menu>summary::-webkit-details-marker{display:none}
.mobile-menu>nav{position:absolute;left:0;right:0;top:100%;background:#183c2d;color:#f1ebd3;border-top:1px solid #758060;padding:15px 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;box-shadow:0 10px 18px #112a2326;max-height:65vh;overflow:auto;z-index:10}
.mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;min-height:47px;border-bottom:1px solid #6577595e;font-size:12px}
.header-search{grid-column:1/-1;grid-row:2;order:3;border:0;border-radius:30px;background:#f6f7ed;margin:3px 0 0;min-height:42px}
.header-search input{color:#223d2b;font-size:12px;padding:10px 15px}
.header-search input::placeholder{color:#717a65}.header-search button{color:#355735;padding:10px 14px}
.header-search select{display:none}
.header-actions{margin:0;gap:20px}.header-actions .action-label{font-size:8px}
.category-nav{display:none}
.campaign-slide{height:440px;min-height:0}.campaign-copy h1{font-size:48px}
.collection-promo h2{font-size:29px}.collection-promo img{right:15px;width:38%;height:155px}
.collection-promo .eyebrow{font-size:7px;letter-spacing:1px}
.store-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:22px}
.store-benefits>div+div{border:0;padding:0}
.store-benefits strong{font-size:11px}.store-benefits small{font-size:9px}
.product-shelf{grid-auto-columns:calc((100% - 40px)/3)}
.price-edit{grid-template-columns:1fr;gap:22px}
.price-edit h2 br{display:none}.price-edit h2{font-size:32px}
.price-edit-links a{min-height:125px}
.occasion-banner>div{width:58%}.occasion-banner h2{font-size:38px}
.shop-layout{grid-template-columns:180px minmax(0,1fr);gap:22px}
.product-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
.container{width:calc(100% - 28px)}
.store-announcement{font-size:9px;min-height:30px;padding:6px 12px;text-align:center}.store-announcement a{display:none}
.site-header{padding:10px 15px 11px;gap:7px 10px}
.brand{margin-left:6px}.header-actions{gap:18px}.header-actions>a[aria-label="Your account"]{display:none}
.header-actions .nav-symbol{font-size:26px}
.header-actions .action-label{display:none}
.mobile-menu>nav{grid-template-columns:1fr;padding:10px 18px 18px}
.header-search{min-height:41px}.header-search input{font-size:12px;min-height:41px}.header-search button{min-height:41px}
.campaign-wrap{width:calc(100% - 24px);margin-top:12px}
.campaign-stage{border-radius:10px}.campaign-slide{height:auto;display:flex;flex-direction:column}
.campaign-slide::after{display:none}
.campaign-image{position:static;order:2;height:230px;object-fit:cover;object-position:80% center}
.campaign-copy{width:100%;max-width:none;padding:26px 25px 28px;background:#faf1e1;order:1}
.campaign-kicker{font-size:8px;letter-spacing:1.5px}
.campaign-copy h1{font-size:45px;letter-spacing:-1.8px;margin:15px 0}
.campaign-copy p{font-size:12px;line-height:1.7;max-width:320px;margin-bottom:17px}
.campaign-copy .button{font-size:11px;min-height:44px;padding:12px 18px}
.campaign-price-note{font-size:9px;margin-top:12px}
.campaign-controls{bottom:12px;right:12px}
.collection-promos{gap:12px;margin-top:14px;grid-template-columns:1fr}
.collection-promo{min-height:155px;padding:22px 24px;border-radius:9px}
.collection-promo>div{width:65%}.collection-promo h2{font-size:29px;margin:8px 0 12px}
.collection-promo img{height:128px;bottom:13px;width:34%;right:18px;border-radius:70px}
.promo-cta{font-size:10px}
.store-benefits{margin-top:18px;padding:18px 15px;gap:18px 12px;border-radius:8px}
.store-benefits>div{gap:9px}.store-benefits>div>span{width:30px;height:30px;font-size:20px}
.store-benefits strong{font-size:10px}.store-benefits small{font-size:8px;line-height:1.6}
.store-section{padding-top:33px}
.store-section .section-heading{gap:12px;align-items:flex-start;margin-bottom:18px}
.store-section .section-heading h2{font-size:25px;letter-spacing:-.7px;line-height:1.25}
.store-section .section-heading .eyebrow{font-size:7px;letter-spacing:1px}
.section-heading.centered p{font-size:11px}
.category-grid{grid-auto-columns:105px;gap:16px;padding-bottom:6px}
.category-tile>div{width:100px}.category-tile h3{font-size:10px;margin-top:10px}
.shelf-navigation{gap:5px;align-self:flex-end}
.shelf-navigation .text-link{font-size:9px;margin:0;max-width:85px;white-space:normal;line-height:1.6;min-height:32px}
.shelf-arrow{display:none}
.product-shelf{grid-auto-columns:calc((100% - 24px)/2.15);gap:12px;padding-bottom:13px}
.product-grid{gap:12px}
.product-card{border-radius:8px}
.product-info{padding:11px}
.product-info .eyebrow{font-size:7px;letter-spacing:.6px}
.product-title{font-size:11px;min-height:34px;margin:6px 0}
.card-price{gap:4px;min-height:23px}
.card-price .price{font-size:13px}.card-price .original-price{font-size:9px}
.card-tax-note{font-size:8px;margin:1px 0 10px}
.card-add{font-size:10px;padding:9px;min-height:40px}
.product-badge{top:8px;left:8px;font-size:7px;padding:4px 6px}
.wish-button{top:7px;right:7px;width:27px;height:27px;font-size:18px;line-height:27px}
.card-quick{display:none}
.price-edit{margin-top:28px;padding:23px;border-radius:9px;gap:20px}
.price-edit h2{font-size:29px;margin:10px 0}.price-edit h2 br{display:block}
.price-edit p{font-size:11px}
.price-edit-links{grid-template-columns:1fr;gap:9px}
.price-edit-links a{min-height:0;display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 16px;gap:5px}
.price-edit-links a>span:first-child{grid-column:1;font-size:9px}.price-edit-links strong{grid-column:1;font-size:20px}
.price-edit-links a>span:last-child{grid-column:2;grid-row:1/3;font-size:24px}
.occasion-banner{margin-top:30px;min-height:0;display:flex;flex-direction:column}
.occasion-banner>img{position:static;order:2;height:210px;object-position:80% center}
.occasion-banner>div{width:100%;padding:28px 25px;background:#faf1e1;order:1}
.occasion-banner h2{font-size:36px;margin:13px 0}.occasion-banner p{font-size:11px}
.newsletter{grid-template-columns:1fr;gap:22px;text-align:left;margin-top:35px;padding:32px 24px}
.newsletter h2{font-size:33px;margin:12px 0}.newsletter p{font-size:11px;margin:0}
.newsletter form{max-width:none}.newsletter input{width:60%;font-size:12px}.newsletter button{font-size:10px;padding:10px}
.newsletter small{font-size:8px}
.footer{grid-template-columns:1fr 1fr;padding:34px 23px 0;gap:28px 24px}
.footer-brand>p{font-size:24px}.footer h3{font-size:11px;margin-bottom:15px}.footer a{font-size:10px}
.footer p,.footer small{font-size:10px}.footer-gst{font-size:9px}
.footer-bottom{gap:9px;font-size:8px}.footer-bottom>span:last-child{gap:9px}
.shop-layout{grid-template-columns:minmax(0,1fr);gap:18px}
.filters{padding:17px;grid-template-columns:1fr 1fr;background:#f6f8ef}
.filters h2{font-size:22px}.filters>.button{margin-top:8px;font-size:10px}
.catalogue-toolbar{gap:8px;padding:9px 11px;font-size:10px}
.catalogue-toolbar label,.catalogue-toolbar select{font-size:10px}.catalogue-toolbar select{max-width:140px}
.product-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-copy h1{font-size:29px}.detail-price .price{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.collection-promo img{transition:none}.product-shelf{scroll-behavior:auto}}

.product-purchase-notes{display:flex;flex-wrap:wrap;gap:10px 20px;padding:15px 0 20px;font-size:10px;color:#617456;border-top:1px solid #e1e7d8;margin-top:16px}.detail-copy>.text-button{min-height:44px}.detail-copy>.button{margin-top:4px}

/* Free delivery promotion and live basket progress. */
.delivery-offer{display:inline-flex;align-items:center;gap:11px;min-width:0;color:#25472f}
.delivery-offer>svg{flex-shrink:0}
.delivery-offer>span{min-width:0}
.delivery-offer strong{display:block;font-size:14px;font-weight:650;line-height:1.5}
.delivery-offer small{display:block;font-size:10px;color:#65714f;margin-top:4px;line-height:1.6}
.delivery-offer-compact{gap:8px}
.delivery-offer-compact strong{font-size:11px}
.delivery-offer-compact>svg{width:18px;height:18px}
.store-announcement.free-delivery-announcement{background:#f0db9d;color:#253d23;min-height:37px;gap:27px}
.free-delivery-announcement .delivery-offer strong{font-size:11px;letter-spacing:.15px}
.free-delivery-announcement .delivery-offer>svg{width:18px;height:18px}
.free-delivery-announcement .announcement-extra{font-size:10px;border-left:1px solid #ae9e6b;padding-left:25px}
.free-delivery-announcement>a{font-weight:650}
.campaign-price-note{margin-top:12px}
.campaign-delivery-offer{margin-top:14px;padding:8px 12px;border:1px solid #cbbd88;background:#fcf6e4de;border-radius:5px}
.campaign-delivery-offer .delivery-offer strong{font-size:11px}
.free-delivery-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;padding:21px 30px;background:linear-gradient(110deg,#f8f2dc,#efe2b0);border:1px solid #e2d2a0;border-radius:10px}
.free-delivery-banner .delivery-offer>svg{width:34px;height:34px;margin-right:7px}
.free-delivery-banner .delivery-offer strong{font-size:19px;letter-spacing:-.3px}
.free-delivery-banner .button{font-size:11px;white-space:nowrap}
.delivery-progress{padding:15px 16px;margin:18px 0;border:1px solid #cddabb;background:#f6f9ee;border-radius:8px;color:#35552d}
.delivery-progress strong{font-size:12px;display:block;font-weight:600;line-height:1.6}
.delivery-progress p{font-size:10px;color:#65765a;line-height:1.65;margin:6px 0 0}
.delivery-progress a{display:inline-flex;align-items:center;min-height:34px;font-size:10px;font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-top:4px}
.delivery-progress progress{display:block;width:100%;height:7px;border:0;appearance:none;background:#dfe7d1;border-radius:10px;overflow:hidden;margin-top:11px}
.delivery-progress progress::-webkit-progress-bar{background:#dfe7d1;border-radius:10px}
.delivery-progress progress::-webkit-progress-value{background:#56814a;border-radius:10px}
.delivery-progress progress::-moz-progress-bar{background:#56814a;border-radius:10px}
.delivery-unlocked{background:#eaf3e2;border-color:#b5cca0}
.delivery-unlocked strong{color:#2d5626}
.delivery-unlocked strong>span{margin-right:6px}
.delivery-confirmation{padding:13px 15px;background:#eaf3e2;border:1px solid #b5cca0;border-radius:7px;color:#2d5626;font-size:12px}
.product-purchase-notes .delivery-offer{flex-basis:100%;color:#315f2b}
.product-purchase-notes .delivery-offer strong{font-size:11px}
@media(max-width:900px){.free-delivery-announcement .announcement-extra{display:none}.free-delivery-banner{padding:21px 23px}.free-delivery-banner .delivery-offer strong{font-size:17px}}
@media(max-width:600px){
.store-announcement.free-delivery-announcement{min-height:36px;padding:7px 12px;gap:0}
.free-delivery-announcement .delivery-offer strong{font-size:10px;letter-spacing:0}
.campaign-delivery-offer{padding:7px 10px;margin-top:12px}
.campaign-delivery-offer .delivery-offer strong{font-size:10px}
.campaign-delivery-offer .delivery-offer>svg{width:17px;height:17px}
.free-delivery-banner{padding:19px;flex-direction:column;align-items:flex-start;gap:15px;margin-top:16px}
.free-delivery-banner .delivery-offer{gap:10px}.free-delivery-banner .delivery-offer>svg{width:29px;height:29px;margin-right:0}
.free-delivery-banner .delivery-offer strong{font-size:15px}
.free-delivery-banner .delivery-offer small{font-size:9px}
.free-delivery-banner .button{min-height:41px;padding:11px 17px;font-size:10px}
.delivery-progress{padding:13px 14px;margin:15px 0}.delivery-progress strong{font-size:11px}
}

/* Supplied artwork already contains its headlines and calls to action. */
.campaign-artwork .campaign-slide{height:auto;min-height:0;aspect-ratio:2/1;display:block}
.campaign-artwork .campaign-slide::after{display:none}
.campaign-artwork .campaign-art-link{display:block;width:100%;height:100%}
.campaign-artwork .campaign-image{position:static;width:100%;height:100%;object-fit:contain;display:block}
.campaign-artwork .campaign-controls{position:static;justify-content:center;gap:8px;border:0;border-top:1px solid #e5ddc7;border-radius:0;background:#fcf8ee;padding:4px 12px;min-height:48px}
.campaign-artwork .campaign-controls>button{min-width:44px;min-height:40px}
.campaign-shop-link{display:inline-flex;align-items:center;min-height:40px;margin-left:15px;padding:0 8px;font-size:11px;font-weight:600;color:#244b33;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
.campaign-artwork .campaign-slide{height:auto;min-height:0;aspect-ratio:2/1;display:block}
.campaign-artwork .campaign-image{position:static;height:100%;width:100%;object-fit:contain}
.campaign-artwork .campaign-controls{gap:0;padding:3px 6px;min-height:46px}
.campaign-artwork .campaign-controls>button{min-width:36px;width:36px;min-height:40px}
.campaign-artwork .campaign-dots{padding:0 1px;gap:0}
.campaign-artwork .campaign-dots button{min-width:23px;padding:7px}
.campaign-shop-link{font-size:10px;margin-left:5px;padding:0 5px}
}
