/* Floating controls share the measured bottom edge of the visible navigation. */
:root{--floating-bottom:calc(76px + env(safe-area-inset-bottom));--chat-control-size:48px}
.chat-widget,.purchase-mode .chat-widget{right:max(14px,env(safe-area-inset-right));bottom:var(--floating-bottom);gap:8px;max-width:calc(100vw - 28px)}
.chat-launcher{width:48px;height:48px;min-width:48px;padding:9px}.chat-launcher svg{width:28px;height:28px}
.chat-nudge{width:auto;max-width:130px;min-height:40px;padding:2px 3px 2px 11px;gap:3px;border-radius:13px}.chat-nudge [data-chat-hint]{font-size:.75rem;white-space:nowrap}.chat-nudge-close{width:32px;height:36px}
.back-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(var(--floating-bottom) + var(--chat-control-size) + 12px);z-index:35;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #d8cbb5;border-radius:50%;background:#fffdf6;color:#304b3c;box-shadow:0 2px 10px #203a251c;cursor:pointer;touch-action:manipulation}.back-to-top svg{width:22px;height:22px}.back-to-top[hidden]{display:none}.back-to-top:focus-visible{outline:3px solid #304b3c;outline-offset:3px}
body:has(dialog[open]) .back-to-top,body:has(input:focus,textarea:focus,select:focus) .back-to-top{display:none}
@media(max-width:760px){#nav{padding:4px 8px calc(4px + env(safe-area-inset-bottom));border-radius:15px 15px 0 0}#nav a{min-height:44px;padding:4px 5px;gap:2px;font-size:.6875rem;line-height:1.2}#nav a .icon{width:20px;height:20px}}
@media(min-width:761px){:root{--floating-bottom:24px}.chat-widget,.purchase-mode .chat-widget{right:24px}.back-to-top{right:26px}}
.order-access-form{max-width:460px;margin:24px 0}.order-access-form label{display:grid;gap:7px;margin:16px 0;font-size:.9375rem}.order-access-form input{width:100%;box-sizing:border-box;font-size:16px}.order-access-form button{min-height:44px}.order-access-form [role=status]{font-size:.9375rem;line-height:1.6;overflow-wrap:anywhere}
@media print{.back-to-top{display:none!important}}

/* Keep the purchase tray a constant height when browser chrome changes the safe area.
   The home-indicator clearance belongs outside the tray, never in its padding. */
@media(max-width:760px){
 #purchase-bar,.pyrite-context #purchase-bar{bottom:max(6px,var(--device-bottom-inset,env(safe-area-inset-bottom,0px)));width:calc(100% - 16px);padding:6px 10px;gap:8px;flex-wrap:nowrap;border:1px solid var(--line);border-radius:17px;box-shadow:0 2px 12px #51402c12}
 #purchase-bar .primary,.pyrite-context #purchase-bar .primary{min-height:44px;min-width:0;max-width:min(190px,60%);flex:0 0 auto;padding:6px 12px;font-size:.8125rem;line-height:1.2;gap:8px}
 #purchase-bar .primary .icon{width:18px;height:18px}
 #purchase-bar .purchase-context,.pyrite-context #purchase-bar .purchase-context{min-width:0;flex:1;font-size:.75rem;line-height:1.3}
 #purchase-bar .purchase-context strong,.pyrite-context #purchase-bar .purchase-context strong{font-size:.8125rem;line-height:1.3;white-space:normal}
}

.footer-brand img{display:block;width:145px;height:auto;max-width:100%}
.state-picker{position:relative;display:block;margin-bottom:22px;font-size:.875rem;font-weight:600}
.state-input{position:relative}.state-input input{padding-right:44px}.state-input button{position:absolute;right:0;top:0;height:100%;min-width:44px;background:transparent;border:0;color:inherit;font-size:20px}
.state-options{position:absolute;z-index:40;left:0;right:0;max-height:220px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 20px #0002;overscroll-behavior:contain}
.state-options [role=option]{padding:12px 14px;min-height:44px;cursor:pointer;font-weight:400}.state-options [role=option]:hover,.state-options [aria-selected=true]{background:#eee5cf}.state-options p{padding:12px;font-weight:400}
[data-direct-checkout]:empty{display:none}[data-direct-checkout]{margin-top:12px}[data-direct-checkout] p{font-size:.875rem}
@media(max-width:760px){body.mobile-entry .chat-widget,body.mobile-entry .back-to-top{visibility:hidden;pointer-events:none}}

/* Clear bag actions and a compact branded footer. */
.line-actions,.checkout-summary .line-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.item-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 14px;border:1px solid #c9c9b6;border-radius:12px;background:#f8f4e9;color:#304b3c;font:600 .8125rem/1.3 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.item-action .icon{width:18px;height:18px}.item-remove{background:transparent;border-color:#decfc4;color:#87543f}.item-action:hover{background:#eee6d4}.item-remove:hover{background:#f6e8df}
.add-sankalp{display:flex;align-items:center;gap:12px;min-height:54px;padding:14px 16px;margin:24px 0 4px;border:1px solid #b9c8b8;border-radius:16px;background:#edf0e6;color:#304b3c;font-size:.875rem;font-weight:600;text-decoration:none;line-height:1.4}.add-sankalp span{flex:1}.add-sankalp:hover{background:#e3e9da}
#site-footer{display:block;border:0;padding:18px 24px calc(var(--purchase-height) + 35px);max-width:1184px}
#site-footer .footer-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px;border:1px solid #405b48;border-radius:26px;background:#304b3c;color:#fff8e8}
#site-footer .footer-brand{display:inline-block;padding:8px 12px;background:#fff8ea;border-radius:14px;line-height:0}#site-footer .footer-brand img{width:155px;height:auto}
#site-footer .footer-identity p{color:#e8e2cf;margin:14px 0;font-size:.875rem}
#site-footer .footer-email{display:inline-flex;gap:8px;align-items:center;min-height:44px;color:#fff8e8;font-size:.8125rem;text-decoration:none;overflow-wrap:anywhere}#site-footer .footer-email .icon{width:17px;height:17px}
#site-footer .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:start}
#site-footer .footer-link{display:flex;gap:9px;align-items:center;min-height:46px;padding:10px 12px;border:1px solid #6b806e;border-radius:12px;background:#ffffff08;color:#fff8e8;font:500 .8125rem/1.3 'DM Sans',sans-serif;text-decoration:none;text-align:left;cursor:pointer}
#site-footer .footer-link:last-child{grid-column:auto}#site-footer .footer-link .icon{width:18px;height:18px;color:#ddc9a3}#site-footer .footer-link:hover{background:#ffffff14;border-color:#ddc9a3}
.item-action:focus-visible,.add-sankalp:focus-visible,#site-footer a:focus-visible,#site-footer button:focus-visible{outline:3px solid #bfa06a;outline-offset:3px}
@media(max-width:760px){#site-footer{padding:16px 16px calc(var(--purchase-height) + 30px)}#site-footer .footer-card{grid-template-columns:1fr;gap:18px;padding:22px 18px;border-radius:23px}#site-footer .footer-identity p{margin-bottom:4px}.item-action{padding:10px 12px}.add-sankalp{padding:12px;font-size:.8125rem}}

/* The same action buttons throughout the customer site, not just the bag. */
body .site-action,body .card-link span.text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #c9c9b6;border-radius:12px;background:#f8f4e9;color:#304b3c;font:600 .8125rem/1.4 'DM Sans',system-ui,sans-serif;text-decoration:none;text-align:left;white-space:normal;vertical-align:middle;cursor:pointer;box-sizing:border-box}
body .site-action:hover{background:#eee6d4;border-color:#aab9a7}
body .site-action:focus-visible{outline:3px solid #bfa06a;outline-offset:3px}
body .site-action:disabled{opacity:.5;cursor:not-allowed}
.site-action .icon,.action-icon{display:inline-block;width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body .site-action.back{margin-bottom:18px}
body .site-action.plain-button{color:#87543f;border-color:#decfc4;background:transparent}
body .support .site-action{background:#ffffff0d;color:#fff8e8;border-color:#8ca18e}
body .site-action[hidden]{display:none}
body .info-button.inline-info.site-action{margin:4px 0}
@media(max-width:760px){body .site-action{padding:10px 12px}}
@media print{.site-action,.action-icon{display:none!important}}

body .card-link span.text-link{width:fit-content;margin-top:14px;text-decoration:none}

/* Keep discovery tabs beneath the compact product purchase action. */
@media(max-width:760px){
 body.product-navigation #nav{display:flex}
 body.product-navigation #purchase-bar{bottom:calc(var(--mobile-nav-height,54px) + 8px)}
 body.product-navigation #site-footer{padding-bottom:calc(var(--purchase-height) + var(--mobile-nav-height,54px) + 40px)}
}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:28px;align-items:start}
.contact-layout .form-card,.contact-layout .panel{margin-top:0}.contact-layout textarea{min-height:150px}
.contact-layout h2{font-size:1.45rem}.contact-layout aside p{font-size:.9375rem}
.contact-layout .contact-email{overflow-wrap:anywhere}.contact-layout [role=status]{white-space:pre-line;line-height:1.6}
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-layout [hidden]{display:none!important}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:0}}

/* Compact help avoids purchase-button overlap on phones, tablets and narrow windows. */
.mobile-help-mark{display:none}
@media(max-width:1200px){
 .chat-widget .chat-nudge{display:none!important}
 .chat-widget{padding-top:16px}
 .chat-launcher{position:relative}
 .chat-launcher .mobile-help-mark{display:grid;place-items:center;position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:22px;height:22px;border:1px solid #d8cbb5;border-radius:50%;background:#fff7e9;color:#304b3c;font:600 15px/1 'DM Sans',sans-serif;box-shadow:0 1px 4px #203a251c}
 .back-to-top{bottom:calc(var(--floating-bottom) + var(--chat-control-size) + 28px)}
}
