
.toast, .toast[data-type="success"], .toast[data-type="error"] { display:flex; align-items:center; gap:12px; width:360px; max-width:calc(100vw - 32px); left:20px; bottom:20px; padding:17px 15px 20px; overflow:hidden; border:1px solid var(--lilac-200); border-radius:20px; background:#fff; color:var(--plum-950); box-shadow:0 12px 45px #35144726; text-align:right; }
.toast.show { pointer-events:auto; }
.toast-symbol { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border-radius:15px; background:var(--lilac-100); color:var(--plum-700); font-size:19px; }
.toast-copy { display:grid; gap:4px; flex:1; min-width:0; }
.toast-copy b { font-size:12px; }
.toast-copy>span { font-size:11px; color:var(--muted); font-weight:400; line-height:1.9; }
.toast-close { align-self:flex-start; display:grid; place-items:center; width:26px; height:26px; padding:0; border:0; border-radius:50%; background:var(--lilac-50); color:var(--plum-700); font-size:20px; line-height:1; }
.toast-close:hover { background:var(--lilac-200); }
.toast-close:focus-visible { outline:2px solid var(--plum-700); outline-offset:2px; }
.toast-progress { position:absolute; bottom:0; inset-inline:0; height:3px; background:linear-gradient(90deg,var(--lilac-200),var(--plum-600)); transform-origin:left; animation:toast-countdown var(--toast-duration) linear forwards; }
.toast[data-type="error"] .toast-symbol { color:#a12b3b; background:#fff0f3; }
@keyframes toast-countdown { to { transform:scaleX(0); } }
@media(prefers-reduced-motion:reduce) { .toast { transition:none; }.toast-progress { animation:none; } }
@media(max-width:430px) { .toast,.toast[data-type="success"],.toast[data-type="error"] { left:16px; bottom:16px; } }
.managed-footer { border-top:1px solid var(--lilac-200); background:radial-gradient(ellipse at top right,#eee2f5 0,transparent 50%),linear-gradient(180deg,#faf7fc,#f4eef7); }
.managed-footer .footer-promise { margin-top:32px; padding:22px 10px; border-radius:24px; background:linear-gradient(120deg,var(--plum-900),var(--plum-700)); box-shadow:0 12px 28px #35144718; }
.managed-footer .footer-promise i { width:46px; height:46px; flex-basis:46px; border-radius:16px; font-size:20px; }
.managed-footer .footer-promise b { font-size:12px; }
.managed-footer .footer-promise small { font-size:10px; line-height:1.9; }
.managed-footer .managed-footer-section { min-width:0; }
.managed-footer .footer-brand p { font-size:12px; line-height:2.15; }
.managed-footer .footer-col h2,.managed-footer .footer-certificates h2 { font-size:15px; margin-bottom:20px; }
.managed-footer .footer-col a { font-size:12px; padding-block:3px; transition:color .2s,transform .2s; }
.managed-footer .footer-col a:hover { transform:translateX(-3px); }
.managed-footer .footer-contact { gap:8px; }
.managed-footer .footer-contact a { background:#fff; border:1px solid var(--lilac-200); box-shadow:none; padding:10px 12px; min-width:0; }
.managed-footer .footer-contact i,.managed-footer .footer-contact b { color:var(--plum-800); }
.managed-footer .footer-contact small { color:var(--muted); font-size:9px; }
.managed-footer .footer-contact b { font-size:11px; overflow-wrap:anywhere; }
.managed-footer .footer-contact a:hover { background:var(--lilac-100); }
.managed-footer .footer-social { flex-wrap:wrap; gap:10px; }
.managed-footer .footer-social>span { font-size:11px; }
.managed-footer .social-row a { width:38px; height:38px; border-radius:12px; box-shadow:0 3px 10px #35144708; }
.managed-footer .footer-certificates { align-self:start; padding:24px; border:1px solid var(--lilac-200); border-radius:22px; background:#ffffffa6; }
.managed-footer .footer-certificates p { font-size:12px; line-height:2.1; }
.managed-footer .footer-certificates>i { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; background:var(--lilac-100); color:var(--plum-700); font-size:24px; margin-block:16px; }
.managed-footer .footer-certificates>a { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--plum-700); }
.managed-footer .footer-certificates>a::after { content:'←'; }
.managed-footer .footer-bottom { border-top:1px solid var(--lilac-200); padding-block:20px; color:var(--muted); line-height:1.9; }
@media(max-width:860px) { .managed-footer .footer-promise { gap:12px 0; padding:18px 10px; }.managed-footer .footer-promise>div { padding:8px; }.managed-footer .footer-promise b { font-size:11px; }.managed-footer .footer-promise small { font-size:9px; } }
@media(max-width:380px) { .managed-footer .footer-promise>div { gap:8px; }.managed-footer .footer-promise i { width:34px;height:38px;flex-basis:34px;font-size:16px; }.managed-footer .footer-promise b { font-size:10px; } }

/* Keep product cards compact, including their live cart count. */
.product-card .product-body h3 { min-height:0; margin-bottom:4px; }
.product-card .product-price-row { min-height:0; margin-top:0; padding-top:2px; gap:4px 7px; }
.product-card-cart .btn { gap:6px; padding-inline:10px; }
.cart-button-count { display:inline-flex; align-items:center; justify-content:center; min-width:23px; height:23px; padding-inline:5px; border-radius:8px; background:var(--plum-700); color:#fff; font-size:11px; line-height:1; flex-shrink:0; }
.cart-button-count[hidden] { display:none; }

.product-save-form { margin:10px 0 18px; }
.product-save-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:9px 14px; border:1px solid var(--lilac-200); border-radius:12px; background:transparent; color:var(--plum-700); font:inherit; font-size:12px; font-weight:600; line-height:1.6; text-decoration:none; transition:background .2s,border-color .2s; }
.product-save-button i { font-size:17px; }
.product-save-button:hover { background:var(--lilac-50); border-color:var(--plum-600); }
.product-save-button:focus-visible { outline:3px solid var(--lilac-200); outline-offset:3px; }
.product-save-form.is-saved .product-save-button { background:var(--lilac-50); }
.gallery-nav[hidden] { display:none; }
.gallery-zoom { opacity:1; transform:none; }
.gallery-modal-stage img { max-height:65dvh; }
@media(prefers-reduced-motion:reduce) { .product-save-button,.gallery-modal,.gallery-modal-panel { transition:none; } }

/* Light product gallery: large preview on the right, vertical thumbnails on the left. */
.gallery-modal { padding:24px; }
.gallery-modal-backdrop { background:rgba(42,32,48,.35); backdrop-filter:blur(8px); }
.gallery-modal-panel { width:min(1080px,100%); height:min(800px,90dvh); max-height:90dvh; grid-template-rows:auto minmax(0,1fr); padding:24px; border:1px solid var(--line); border-radius:24px; background:#fff; color:var(--ink); box-shadow:0 24px 90px #26113626; }
.gallery-modal-head { gap:16px; padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.gallery-modal-head b { font-size:15px; line-height:1.8; }
.gallery-modal-head small { color:var(--muted); font-size:11px; }
.gallery-modal-head button { flex-shrink:0; border:1px solid var(--line); background:#faf8fc; color:var(--plum-700); }
.gallery-modal-body { display:grid; grid-template-columns:minmax(0,1fr) 100px; direction:rtl; gap:20px; min-height:0; }
.gallery-modal-stage { background:#fff; border:1px solid #f1edf3; border-radius:18px; }
.gallery-modal-stage img { width:100%; height:100%; max-height:100%; min-height:0; object-fit:contain; }
.gallery-modal-thumbs { flex-direction:column; justify-content:flex-start; align-items:center; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:2px 4px; gap:12px; scrollbar-width:thin; scrollbar-color:var(--lilac-200) transparent; }
.gallery-modal-thumbs .gallery-thumb { width:88px; height:88px; flex:0 0 88px; padding:4px; border:2px solid var(--line); border-radius:14px; background:#fff; opacity:1; }
.gallery-modal-thumbs .gallery-thumb img { object-fit:contain; border-radius:8px; }
.gallery-modal-thumbs .gallery-thumb.active { border-color:var(--plum-600); background:var(--lilac-50); }
.gallery-modal-thumbs .gallery-thumb:hover { border-color:var(--plum-600); }
.gallery-modal button:focus-visible { outline:3px solid var(--lilac-200); outline-offset:2px; }
.gallery-nav { width:38px; height:38px; background:#ffffffed; border:1px solid var(--line); color:var(--plum-700); box-shadow:0 3px 12px #26113612; }
.gallery-nav:hover { background:var(--lilac-50); }
.gallery-next { right:10px; }.gallery-prev { left:10px; }
@media(max-width:600px) {
 .gallery-modal { padding:12px; }
 .gallery-modal-panel { height:82dvh; max-height:82dvh; padding:14px; border-radius:20px; }
 .gallery-modal-head { margin-bottom:12px; padding-bottom:12px; }.gallery-modal-head b { font-size:12px; }
 .gallery-modal-body { grid-template-columns:minmax(0,1fr) 60px; gap:8px; }
 .gallery-modal-thumbs { padding:2px; gap:8px; }.gallery-modal-thumbs .gallery-thumb { width:54px; height:54px; flex-basis:54px; border-radius:10px; padding:2px; }
 .gallery-nav { width:30px; height:30px; font-size:11px; }.gallery-next { right:5px; }.gallery-prev { left:5px; }
}

.managed-footer .footer-certificates { padding:0; border:0; border-radius:0; background:transparent; }
.footer-license-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.footer-license-box { min-width:0; min-height:112px; padding:14px 5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid var(--lilac-200); border-radius:16px; background:#ffffffb3; text-align:center; color:var(--plum-700); }
.footer-license-box>i { font-size:27px; color:#9989a2; }
.footer-license-box>span { font-size:11px; font-weight:700; }
.footer-license-box>small { font-size:8px; color:var(--muted); }
.footer-license-box.is-placeholder { border-style:dashed; }
a.footer-license-box:hover { background:#fff; border-color:var(--plum-600); }

.product-page { padding-top:24px; }
.product-page > .container > .breadcrumb { display:flex; flex-wrap:wrap; gap:4px 7px; margin-bottom:22px; line-height:1.9; }
.product-page .product-details h1 { margin:8px 0 12px; font-size:clamp(22px,2.2vw,30px); line-height:1.7; letter-spacing:normal; }
@media(max-width:600px) { .product-page { padding-top:16px; }.product-page > .container > .breadcrumb { margin-bottom:16px; font-size:10px; }.product-page .product-details h1 { font-size:22px; } }

.quick-perks[hidden] { display:none; }
.announcement-divider { margin-inline:6px; opacity:.6; }
.shop-page .filter-chips { margin-top:12px; padding-top:12px; padding-bottom:4px; }
.shop-page .chip { font-size:13px; padding:9px 15px; }
.shop-page .shop-toolbar { margin-top:18px; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--lilac-50); flex-wrap:wrap; }
.shop-page .shop-toolbar strong { font-size:13px; }
.shop-page .sort-select { min-width:0; max-width:100%; }
.shop-page .sort-select select { min-width:0; font-size:13px; color:var(--plum-900); }
.shop-page .filter-panel { border-radius:18px; }
.shop-page .filter-panel-head { gap:8px; flex-wrap:wrap; font-size:14px; }
.shop-page .filter-panel-head>a { font-size:11px; color:var(--plum-700); text-decoration:underline; text-underline-offset:4px; }
.shop-page .filter-title h2 { font-size:14px; line-height:1.8; }
.shop-page .filter-search { height:44px; border-radius:12px; background:#faf8fc; }
.shop-page .filter-search input { font-size:13px; }
.shop-page .filter-options .check-row,.shop-page .filter-panel .check-row { font-size:13px; line-height:1.9; gap:9px; padding-block:7px; }
.shop-page .filter-options .check-row { grid-template-columns:18px minmax(0,1fr) auto; }
.shop-page .filter-panel input:is([type="checkbox"],[type="radio"]) { width:17px; height:17px; accent-color:var(--plum-700); flex-shrink:0; }
.shop-page .filter-options .check-row small { font-size:11px; }
.shop-page .price-values { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-block:12px; }
.shop-page .price-values label { display:flex; align-items:center; gap:10px; min-width:0; padding:8px 12px; border:1px solid var(--line); border-radius:12px; background:#faf8fc; }
.shop-page .price-values label:focus-within { border-color:var(--plum-600); background:white; box-shadow:0 0 0 3px var(--lilac-100); }
.shop-page .price-values small { font-size:12px; color:var(--muted); }
.shop-page .price-values input { width:100%; min-width:0; height:30px; border:0; outline:0; padding:0; background:transparent; color:var(--plum-900); font:inherit; font-size:14px; text-align:left; direction:ltr; }
.shop-page .price-filter>small { display:block; color:var(--muted); font-size:11px; line-height:2; }
.shop-page .apply-filter { min-height:44px; font-size:13px; border-radius:12px; }
.shop-page .shop-products .product-body h3 { font-size:13px; line-height:1.8; }
@media(max-width:600px) { .shop-page .shop-toolbar { padding:12px; }.shop-page .shop-toolbar .button-row { width:100%; display:flex; flex-wrap:wrap; gap:8px; }.shop-page .sort-select { flex:1; }.shop-page .filter-toggle { padding-inline:12px; font-size:12px; }.shop-page .shop-products { gap:14px 10px; }.shop-page .shop-products .product-body h3 { font-size:12px; } }
