/* Shared refinement layer: quiet decoration, clear purchase hierarchy and full flower imagery. */
:root{--journey-forest:#244d40;--journey-gold:#a78a50;--journey-border:#dce3d5;--journey-paper:#fffefa;--journey-muted:#6b7c6c}
.page-product-listing #product-filter-tools{background:#f2f4eb;border:1px solid #dde4d5;border-radius:10px;padding:15px 18px;box-shadow:0 2px 9px #244d4004}
.page-product-listing #product-filter-tools .catalogue-filter-bar h3{font-size:14px;letter-spacing:0;color:var(--journey-forest)}
.page-product-listing #product-filter-tools .catalogue-filter-bar h3>span{font-size:12px;font-weight:400;background:#fffefa;border:1px solid #dce3d5;border-radius:20px;padding:3px 10px}
.catalogue-choice-note{display:flex;align-items:center;gap:9px;padding-top:12px;margin:12px 0 0;border-top:1px solid #dce3d5;color:#637560;font-size:12px;line-height:1.7}
.catalogue-choice-note>.public-icon{color:var(--journey-gold);width:18px;height:22px;flex:0 0 18px}.catalogue-choice-note svg{width:18px;height:22px}
.page-product-listing #product-listing-products .legacy-product-card--listing{overflow:hidden;box-shadow:0 3px 14px #244d4006!important;border-color:#dce3d5!important}
.page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-image{aspect-ratio:3/4!important;height:auto!important;background:#f7f6f0!important;position:relative}
.page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;transition:filter .18s!important}
.page-product-listing #product-listing-products .legacy-product-card--listing:hover .legacy-product-image img{transform:none!important;filter:brightness(1.025)}
.page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-name-link{font-size:15px!important;line-height:1.55!important;margin:13px 7px 6px!important;min-height:2.8em}
.page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-price{border:0!important;padding-top:0!important;margin:0 7px 10px!important;line-height:1.3;font-size:22px!important}
.page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-price:before{display:none!important}
.page-product-listing #product-listing-products .legacy-product-card--listing .category-product-tags{margin:0 7px 14px!important;min-height:28px;gap:5px}
.page-product-listing #product-listing-products .legacy-product-card--listing .category-product-tag{background:#f0f3e9;color:#64785f;border-radius:3px;padding:3px 5px;font-weight:400;line-height:1.5}
.page-product-listing #product-listing-products .legacy-product-card--listing .catalogue-details-link{font-weight:500!important}
.catalogue-promotion-label{position:absolute;top:9px;left:9px;z-index:2;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.02em;padding:5px 9px;border:1px solid #dfd0a8;background:#fffaf0f5;color:#8a6d34;border-radius:4px;box-shadow:0 2px 6px #59472008}
.catalogue-promotion-label:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
.page-product-listing #product-listing-products .legacy-product-card--promotion{border-color:#cdbb91!important}
@media(max-width:760px){
 .page-product-listing #product-filter-tools{padding:12px!important;margin-bottom:18px}
 .page-product-listing #product-filter-tools .catalogue-filter-bar h3{font-size:13px}
 .page-product-listing #product-filter-tools .catalogue-filter-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px}
 .page-product-listing #product-filter-tools .catalogue-more-filters>summary{font-size:12px;padding:9px 10px}
 .catalogue-choice-note{font-size:12px;margin-top:10px;padding-top:10px;align-items:flex-start;gap:7px}
 .page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-name-link{font-size:14px!important;margin:11px 4px 6px!important}
 .page-product-listing #product-listing-products .legacy-product-card--listing .legacy-product-price{font-size:20px!important;margin:0 4px 8px!important}
 .page-product-listing #product-listing-products .legacy-product-card--listing .category-product-tags{margin:0 4px 12px!important;min-height:32px}
 .catalogue-promotion-label{font-size:12px;padding:4px 6px;top:6px;left:6px;gap:4px}
}
@media(prefers-reduced-motion:reduce){.page-product-listing #product-listing-products .legacy-product-image img{transition:none!important}}

/* Product information remains server-rendered, with secondary detail available on request. */
.hkf-product-page .product-information-sections{border-top:1px solid var(--journey-border);margin-top:20px}
.hkf-product-page .product-information-group{border-bottom:1px solid var(--journey-border);background:transparent;border-radius:0;margin:0}
.hkf-product-page .product-information-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;min-height:58px;list-style:none;cursor:pointer;color:var(--journey-forest);font-size:14px;font-weight:600;line-height:1.6}
.product-information-group>summary::-webkit-details-marker{display:none}.product-information-title{display:flex;align-items:center;gap:10px}.product-information-title .public-icon{width:21px;height:24px;flex:0 0 21px;color:var(--journey-gold)}.product-information-title svg{display:block;width:21px;height:24px}.product-information-toggle{font-weight:400;font-size:20px;color:var(--journey-gold);flex:0 0 18px;text-align:center;transition:transform .15s}
.product-information-group[open]>summary .product-information-toggle{transform:rotate(45deg)}
.hkf-product-page .product-information-group :is(.product-detail-note-grid,.product-detail-trust-grid){margin:0 0 16px;grid-template-columns:1fr!important;gap:0}
.hkf-product-page .product-information-group .product-detail-note{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;border:0;border-radius:0;background:transparent;padding:12px 0;border-top:1px solid #e9ede2}
.hkf-product-page .product-information-group .product-detail-note:first-child{border-top:0;padding-top:0}.hkf-product-page .product-information-group .product-detail-note strong{font-size:12px;line-height:1.8;margin:0}.hkf-product-page .product-information-group .product-detail-note span{font-size:13px;line-height:1.85}
.hkf-product-page .product-information-group .product-detail-trust-item{background:transparent;border:0;border-radius:0;padding:12px 0;gap:10px}.hkf-product-page .product-information-group .product-detail-trust-item .public-icon{width:17px;height:20px;flex:0 0 17px;color:#7a936b}.hkf-product-page .product-information-group .product-detail-trust-item svg{width:17px;height:20px}.hkf-product-page .product-information-group .product-detail-trust-item strong{font-size:13px}.hkf-product-page .product-information-group .product-detail-trust-item span{font-size:13px;line-height:1.85}
.hkf-product-page .product-information-group .product-detail-checkout-box{background:transparent;border:0;padding:0 0 16px}.hkf-product-page .product-information-group .product-detail-checkout-box strong{font-size:13px}.hkf-product-page .product-information-group .product-detail-checkout-box ul{font-size:13px;line-height:1.85}
.hkf-product-page .product-information-group>summary:focus-visible,.hkf-product-page .legacy-product-grid--related:focus-visible{outline:2px solid #a78a50;outline-offset:4px}
.hkf-product-page .product-related-panel{margin-top:32px;padding-top:26px}.product-related-swipe{display:none}
.hkf-product-page .legacy-product-grid--related .legacy-product-image{aspect-ratio:3/4!important;background:#f7f6f0!important}
.hkf-product-page .legacy-product-grid--related .legacy-product-image img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}
@media(max-width:760px){
 .hkf-product-page .product-information-group>summary{font-size:14px;padding:15px 0;min-height:55px}
 .hkf-product-page .product-information-group .product-detail-note{grid-template-columns:76px minmax(0,1fr);gap:12px}
 .hkf-product-page .product-related-panel .legacy-product-panel-head{align-items:flex-start;gap:12px}
 .hkf-product-page .product-related-panel .legacy-product-panel-head h3{font-family:'Noto Serif TC',serif;font-size:21px;font-weight:600;line-height:1.5}
 .hkf-product-page .product-related-panel .legacy-product-panel-head p{font-size:12px;line-height:1.8}
 .hkf-product-page .product-related-panel .legacy-product-panel-head>.storefront-button{font-size:12px;padding:8px 10px;min-height:44px;flex-shrink:0}
 .product-related-swipe{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#77866f;margin:12px 0 0}.product-related-swipe span{color:#9b814b;font-size:19px}
 .hkf-product-page .legacy-product-grid--related{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,76%);gap:12px!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:1px;overscroll-behavior-inline:contain;padding:2px 1px 14px;margin:6px 0 0!important;scrollbar-width:thin;scrollbar-color:#bdc8b4 #f0f2e9}
 .hkf-product-page .legacy-product-card--related{scroll-snap-align:start;min-width:0;max-width:none;display:flex!important;flex-direction:column;gap:10px;padding:10px!important;border:1px solid #dce3d5!important;border-radius:9px;background:#fffefa}
 .hkf-product-page .legacy-product-card--related .legacy-product-image{min-height:0!important;width:100%!important;margin:0!important}.hkf-product-page .legacy-product-card--related .legacy-product-name{font-size:14px!important;min-height:2.8em;line-height:1.5}
 .hkf-product-page .legacy-product-card--related .legacy-product-price{font-size:20px!important;padding:0!important;margin:0!important}
 .hkf-product-page .legacy-product-card--related .category-product-tags{display:none}.hkf-product-page .legacy-product-card--related>.storefront-button{min-height:44px;margin-top:auto;font-size:12px}
 .page-product-listing #product-listing-products .catalogue-cart-plus{display:none}.page-product-listing #product-listing-products .catalogue-cart-button{font-size:13px!important}
 .page-product-listing #product-listing-products .category-product-tag{font-size:12px!important}.catalogue-promotion-label{font-size:12px}
}
@media print{.product-information-group{display:block}.product-information-group>*{display:block!important}.product-information-toggle,.product-related-swipe{display:none!important}.hkf-product-page .legacy-product-grid--related{display:grid!important;overflow:visible;grid-template-columns:repeat(3,1fr)!important}}
@media(prefers-reduced-motion:reduce){.product-information-toggle{transition:none}}
/* The legacy product ID rules set explicit columns; override them for the mobile rail. */
@media(max-width:760px){
 .hkf-public-design.hkf-product-page #product-detail .product-related-panel .legacy-product-grid--related{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:76%!important;gap:12px!important;max-width:100%!important;width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important}
 .hkf-public-design.hkf-product-page #product-detail .product-related-panel .legacy-product-card--related{min-width:0!important;width:auto!important;max-width:none!important}
 .hkf-public-design.hkf-product-page #product-detail .product-related-panel .legacy-product-card--related .legacy-product-image{min-width:0!important;height:auto!important;min-height:0!important;aspect-ratio:3/4!important}
}

/* A consistent, calm visual language through cart and both checkout steps. */
.hkf-checkout-page main>h1,.hkf-cart-page .cart-page-heading h1{font-family:'Noto Serif TC','Songti TC',serif;letter-spacing:.01em;font-weight:600;line-height:1.5;color:var(--journey-forest)}
.hkf-checkout-page .layout>.panel{border:1px solid var(--journey-border);border-radius:12px;background:var(--journey-paper);box-shadow:0 4px 18px #244d4005;padding:26px}
.hkf-checkout-page .layout>aside.panel{background:#f0f3e8;position:sticky;top:132px}
.hkf-checkout-page .layout>aside.panel>h2{font-family:'Noto Serif TC',serif;font-size:21px;color:var(--journey-forest);padding-bottom:15px;border-bottom:1px solid #dce3d2}
.hkf-checkout-page .layout>section.panel>h2{font-size:17px;font-weight:600;color:var(--journey-forest)}
.hkf-checkout-page #checkout-form .section{margin-top:24px;padding-top:24px;border-color:#e0e6d8}
.hkf-checkout-page #checkout-form .section:first-of-type{border:0;margin-top:0;padding-top:0}
.hkf-checkout-page #checkout-form .checkout-section-heading{display:flex;gap:10px;align-items:center;font-size:17px;font-weight:600;line-height:1.5}
.checkout-section-heading .public-icon{display:flex;align-items:center;justify-content:center;width:30px;height:32px;flex:0 0 30px;border:1px solid #e2d8bc;border-radius:7px;background:#faf6e9;color:#92733e}.checkout-section-heading svg{width:20px;height:22px;max-width:20px}
.hkf-checkout-page #checkout-form label{font-weight:600;font-size:13px;line-height:1.7;margin-top:16px}
.hkf-checkout-page #checkout-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){border-color:#cad8c6;background:#fff;border-radius:6px;min-height:46px;line-height:1.65;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}
.hkf-checkout-page #checkout-form :is(input,select,textarea):focus-visible{outline:2px solid #b69b61;outline-offset:2px;box-shadow:0 0 0 4px #b69b6114}
.hkf-checkout-page #checkout-form .required-badge{font-size:12px;font-weight:400;padding:2px 7px;color:#62735a;background:#f0f3e7;border:1px solid #dce4d1;border-radius:12px;margin-left:5px}
.hkf-checkout-page #checkout-form .help{font-size:12px;line-height:1.8;color:#70816a}
.checkout-optional-panel{border:1px solid #dce3d5;border-radius:8px;background:#f7f8f1;margin:26px 0 22px}
.checkout-optional-panel>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:16px;min-height:70px}.checkout-optional-panel>summary::-webkit-details-marker{display:none}
.checkout-optional-symbol{width:30px;flex:0 0 30px;color:#9b7c46}.checkout-optional-symbol .public-icon,.checkout-optional-symbol svg{display:block;width:26px;height:30px}.checkout-optional-panel>summary>span:nth-child(2){flex:1;min-width:0}.checkout-optional-panel>summary strong{font-size:14px;font-weight:600;color:#294f3e;display:block;line-height:1.7}.checkout-optional-panel>summary small{display:block;font-size:12px;color:#71816b;line-height:1.8;margin-top:2px}.checkout-optional-mark{font-size:21px;font-weight:400;color:#9b7c46;flex:0 0 20px;text-align:center;transition:transform .15s}.checkout-optional-panel[open]>summary .checkout-optional-mark{transform:rotate(45deg)}
.checkout-optional-panel>summary:focus-visible,.checkout-payment-notes>summary:focus-visible{outline:2px solid #a78a50;outline-offset:3px}
.checkout-optional-content{padding:0 18px 18px}.hkf-checkout-page #checkout-form .checkout-optional-content .section{margin-top:0;padding-top:16px}.hkf-checkout-page #checkout-form .checkout-optional-content h2{font-size:15px;font-weight:600}
.hkf-checkout-page #checkout-form>button[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border-radius:7px;background:#244d40;border-color:#244d40;font-size:15px;font-weight:600;box-shadow:0 5px 12px #244d4012;margin-top:0}
.checkout-summary-reassurance{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.8;color:#63765f;margin:19px 0}
.checkout-summary-reassurance .public-icon,.checkout-summary-reassurance svg{width:22px;height:25px;flex:0 0 22px;color:#9c8049}
.checkout-payment-notes{border-top:1px solid #d9e1d0;border-bottom:1px solid #d9e1d0;padding:0;margin:12px 0 18px}.checkout-payment-notes>summary{padding:13px 0;cursor:pointer;font-size:13px;color:#536d50;font-weight:500}.hkf-checkout-page .checkout-payment-notes .trust-note{border:0;background:transparent;padding:0 0 15px;margin:0;color:#6e7e65;font-size:12px;line-height:1.9}
.hkf-cart-page .cart-items-heading h2,.hkf-cart-page .cart-summary-panel h2{font-family:'Noto Serif TC','Songti TC',serif;font-weight:600;font-size:23px}
.hkf-cart-page .cart-items-panel,.hkf-cart-page .cart-summary-panel{border-color:#dce3d5;box-shadow:0 4px 16px #244d4005;border-radius:12px}
.hkf-cart-page .cart-summary-panel{border-top:3px solid #b7a06a;background:linear-gradient(140deg,#eef2e5,#f5f5ed)}
.hkf-cart-page .cart-summary-panel .summary-total strong,.hkf-cart-page .cart-summary-panel .summary .total strong{font-size:28px;font-weight:650;color:#244d40}
.hkf-cart-page .cart-item-media{background:#f7f6ef;border:1px solid #e0e5d8;border-radius:6px}
.hkf-cart-page .cart-empty-symbol{background:#f0f2e5;border:1px solid #dce3cc;box-shadow:0 0 0 8px #f5f6ed;color:#8e793f}
.checkout-item-step .checkout-step-sidebar{border-top:3px solid #b7a06a;background:linear-gradient(140deg,#f1f4e9,#fffef9);box-shadow:0 4px 18px #244d4005}
@media(max-width:900px){.hkf-checkout-page .layout>aside.panel{position:static}.hkf-checkout-page .layout>.panel{padding:22px}}
@media(max-width:600px){
 .hkf-checkout-page .layout>.panel{padding:20px 18px;border-radius:10px}.hkf-checkout-page .layout>aside.panel>h2{font-size:20px}
 .hkf-checkout-page #checkout-form .section{margin-top:22px;padding-top:22px}.hkf-checkout-page #checkout-form .checkout-section-heading{font-size:17px}
 .checkout-optional-panel>summary{padding:14px 13px;gap:9px}.checkout-optional-panel>summary small{font-size:12px}.checkout-optional-content{padding:0 13px 16px}
 .hkf-checkout-page #checkout-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){font-size:16px}
 .hkf-cart-page .cart-items-heading h2,.hkf-cart-page .cart-summary-panel h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.checkout-optional-mark,.hkf-checkout-page #checkout-form :is(input,select,textarea){transition:none}}

/* Schedule suggestions are choices, not primary white-on-green submit buttons. */
.hkf-checkout-page #schedule-helper-section{background:#f1f5ed;border-color:#d5dfcc}
.hkf-checkout-page #schedule-helper-section h3{color:#294c37}
.hkf-checkout-page #schedule-matches .schedule-item{color:#294c37!important;background:#fffef9!important;border:1px solid #c6d4ba!important;font-weight:500;opacity:1;min-height:44px;margin:0;padding:10px 12px}
.hkf-checkout-page #schedule-matches .schedule-item:hover,.hkf-checkout-page #schedule-matches .schedule-item:focus-visible{color:#193e2a!important;background:#e7efdf!important;border-color:#779568!important;outline:2px solid #779568;outline-offset:1px}
.hkf-checkout-page #schedule-matches .schedule-item[aria-pressed="true"]{background:#deebd4!important;border-color:#55764b!important;color:#193e2a!important}
.hkf-checkout-page #schedule-helper-section .schedule-disclaimer{color:#5a674f;font-size:12px;line-height:1.75}

/* Both data-entry steps share the same readable progress and current state. */
.hkf-checkout-page .checkout-data-progress{display:grid;grid-template-columns:1.2fr 1.15fr 1fr;gap:0;list-style:none;margin:20px 0;padding:0;border-bottom:1px solid #d7e0d2}
.hkf-checkout-page .checkout-data-progress>li{display:flex;gap:10px;align-items:center;min-width:0;padding:12px 10px;color:#586b5a;font-size:14px;line-height:1.55;border-bottom:2px solid transparent}
.hkf-checkout-page .checkout-data-progress>li:first-child{padding-left:0}
.hkf-checkout-page .checkout-data-progress__number{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid #cbd6c4;border-radius:50%;background:#f0f3ea;font-size:13px;font-weight:600;color:#53684f}
.hkf-checkout-page .checkout-data-progress__number :is(.public-icon,svg){display:block;width:16px;height:16px}
.hkf-checkout-page .checkout-data-progress small{display:block;color:inherit;font-size:12px;font-weight:400}
.hkf-checkout-page .checkout-data-progress>.is-current{color:#244d40;border-bottom-color:#244d40;font-weight:650}
.hkf-checkout-page .is-current>.checkout-data-progress__number{background:#244d40;border-color:#244d40;color:#fff}
.hkf-checkout-page .checkout-data-progress>.is-complete{color:#315b46}
.hkf-checkout-page .checkout-required-note{font-size:13px;line-height:1.7;margin:0 0 14px;color:#53664f}
@media(max-width:600px){
 .hkf-checkout-page .checkout-data-progress{grid-template-columns:1.15fr 1fr 1fr;margin:16px 0}
 .hkf-checkout-page .checkout-data-progress>li{align-items:flex-start;gap:6px;padding:10px 6px;font-size:13px}
 .hkf-checkout-page .checkout-data-progress__number{flex-basis:20px;width:20px;height:20px;font-size:12px}
 .hkf-checkout-page .checkout-data-progress small{font-size:12px;line-height:1.6;margin-top:3px}
}
