:root{--bg:#ffffff;--text:#111111;--muted:#5c5c5c;--bar:#0a0a0a;--bar-text:#f5f5f5;--border:#e5e5e5;--accent:#2a2a2a;--gold:#a68b4a;--gold-muted:#8a7340;--emerald:#2e7d52;--emerald-muted:#245f40}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:inherit}.draft-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;background:#fff8e6;border-bottom:1px solid #f0e0b0;padding:.5rem 1.25rem;font-size:.8rem;color:#5c4a1a}.draft-banner__text strong{font-weight:700}.dev-reset-btn{flex-shrink:0;background:#fff;border:1px solid #c8a84b;color:#7a5c10;padding:.25rem .75rem;border-radius:4px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;letter-spacing:.03em;transition:background .15s,color .15s;white-space:nowrap}.dev-reset-btn:hover{background:#c8a84b;color:#fff}.toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.75rem 1rem;gap:.75rem 1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);font-size:.875rem}.toolbar__brand{display:flex;align-items:center;gap:.75rem;justify-self:start;color:inherit;text-decoration:none}.toolbar__brand img{height:64px;width:auto;display:block}.toolbar__brand-text{line-height:1.2}.toolbar__brand-text .name{font-weight:700;letter-spacing:.06em;font-size:.7rem;color:var(--gold-muted);text-transform:uppercase}.toolbar__brand-text .sub{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.toolbar__categories{flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.toolbar__admin-tabs,.toolbar__categories{display:flex;align-items:center;justify-self:center}.toolbar__admin-tabs{gap:0;overflow-x:auto;scrollbar-width:none}.toolbar__admin-tabs::-webkit-scrollbar{display:none}.admin-toolbar-tab{background:none;border:none;border-bottom:2px solid transparent;padding:0 .9rem;height:100%;min-height:2.5rem;font-size:.82rem;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.06em}.admin-toolbar-tab:hover{color:#2a2a2a}.admin-toolbar-tab--active{color:var(--emerald);border-bottom-color:var(--emerald);font-weight:700}.toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:flex-end;justify-self:end}.toolbar__actions .toolbar__login,.toolbar__actions button,.toolbar__actions select{background:transparent;border:1px solid var(--border);padding:.35rem .6rem;border-radius:4px;font:inherit;cursor:pointer;color:inherit;text-decoration:none}.toolbar__auth{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;max-width:14rem}.toolbar__auth--muted{color:var(--muted);min-width:1.25rem}.toolbar__auth-name{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10rem}.toolbar__actions input[type=search],.toolbar__search-form input[type=search]{min-width:180px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;font:inherit}@keyframes search-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.search-no-result{border-color:#c0392b!important;animation:search-shake .5s ease}@keyframes search-highlight-fade{0%{box-shadow:0 0 0 3px var(--emerald),0 0 18px 4px rgba(46,125,82,.25);background:#eef7f2}70%{box-shadow:0 0 0 3px var(--emerald),0 0 18px 4px rgba(46,125,82,.12);background:#eef7f2}to{box-shadow:none;background:transparent}}.search-highlight{animation:search-highlight-fade 1.8s ease forwards;border-radius:6px}.toolbar .cat{color:var(--muted);text-decoration:none}.toolbar .cat:hover{text-decoration:underline}.login-main{max-width:28rem;margin:0 auto;padding:2rem 1.25rem 4rem}.login-card{border:1px solid var(--border);border-radius:8px;padding:1.5rem 1.25rem;background:#fafafa}.login-title{font-size:1.25rem;margin:0 0 .5rem;font-weight:600}.login-lead{color:var(--muted)}.login-err,.login-lead{margin:0 0 1rem;font-size:.9rem}.login-err{color:#8a1f1f}.login-err--denied{background:#fdf2f2;border:1px solid #e8b4b4;border-radius:6px;padding:.65rem .9rem}.login-note{font-size:.85rem;color:var(--muted);margin:0 0 1rem;line-height:1.45}.login-note code{font-size:.8rem}.login-google{width:100%;padding:.65rem 1rem;font:inherit;font-weight:600;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;margin-bottom:1.5rem}.login-google:disabled{opacity:.5;cursor:not-allowed}.login-google:not(:disabled):hover{background:#f5f5f5}.login-shopify-note{border-top:1px solid var(--border);padding-top:1rem;margin:0}.login-shopify-note h2{font-size:.95rem;font-weight:600;margin:0 0 .5rem}.login-shopify-note p{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}.login-back{margin:1.25rem 0 0;font-size:.9rem}.login-back a{color:var(--muted);text-decoration:none}.login-back a:hover{text-decoration:underline}main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.subpage-back{margin:0 0 1.25rem;font-size:.9rem}.subpage-back a{color:var(--muted);text-decoration:none}.subpage-back a:hover{text-decoration:underline}.page-anchor-section{max-width:1200px;margin:0 auto;padding:0 1.25rem 2.5rem}.page-anchor-section h2{font-size:1.125rem;font-weight:600;margin:0 0 1rem}.hero-vault{border:1px solid var(--border);border-radius:8px;padding:1.25rem 1rem 1.5rem;background:#fafafa}.hero-vault h1{margin:0 0 .35rem;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-muted)}.hero-vault .tagline{margin:0 0 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.embed-wrap{position:relative;width:100%;max-width:720px;margin:0 auto 1rem;border-radius:6px;overflow:hidden;background:#000}.embed-wrap--clickable{cursor:pointer;outline:none}.embed-wrap--clickable:focus-visible{box-shadow:0 0 0 3px var(--emerald)}.embed-wrap--clickable video{pointer-events:none}.embed-wrap iframe{display:block;width:100%;min-height:600px;border:0}.hero-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.hero-actions button{background:var(--accent);color:#fff;border:none;padding:.6rem 1rem;border-radius:4px;font:inherit;cursor:pointer}.hero-actions button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.note{font-size:.8rem;color:var(--muted);max-width:40rem;margin:.75rem auto 0;text-align:center}.dev-only{margin-top:1rem;padding:.75rem 1rem;background:#fff4f0;border:1px solid #f0c8b8;border-radius:6px;font-size:.78rem;color:#6a3d2e}.dev-only strong{display:block;margin-bottom:.35rem}section{margin-top:2.5rem}section h2{font-size:1.125rem;font-weight:600;margin:0 0 1rem}.placeholder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.placeholder-card{border:1px dashed #d4a59a;border-radius:8px;overflow:hidden;background:#fff}.placeholder-card .ph-label{padding:.5rem .65rem;font-size:.7rem;background:#fff4f0;color:#6a3d2e;border-bottom:1px dashed #e8b8a8}.placeholder-card img{width:100%;height:auto;display:block}.owned-hero-img{max-width:280px;margin:1rem auto 0;border-radius:8px;border:1px solid var(--border);overflow:hidden}.owned-hero-img img{width:100%;height:auto;display:block}.owned-caption{font-size:.75rem;color:var(--muted);text-align:center;margin-top:.35rem}.grid-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.grid-cats a{display:block;padding:1rem;border:1px solid var(--border);border-radius:6px;text-align:center;text-decoration:none;font-size:.9rem;color:var(--text)}.grid-cats a:hover{background:#fafafa}.cat-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1.25rem;gap:1.25rem}.cat-product-card{border:1px dashed #d4a59a;border-radius:8px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;display:block;transition:box-shadow .15s,border-color .15s}.cat-product-card:hover{box-shadow:0 4px 16px rgba(46,125,82,.18);border-color:var(--emerald)}.cat-product-card img{width:100%;height:auto;display:block}.cat-product-info{padding:.65rem .75rem;display:flex;flex-direction:column;gap:.2rem}.cat-product-name{font-size:.9rem;font-weight:600}.cat-product-note{font-size:.75rem;color:var(--muted)}.pdp-shell{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.pdp-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:2.5rem;gap:2.5rem;margin-top:1.5rem}@media (max-width:680px){.pdp-layout{grid-template-columns:1fr}}.pdp-gallery{display:flex;flex-direction:column;gap:.75rem}.pdp-image-wrap{position:relative}.pdp-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transition:opacity .35s ease,background .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(0,0,0,.12);color:var(--accent);pointer-events:none}.pdp-image-wrap--arrows-visible .pdp-arrow{opacity:1;pointer-events:auto}.pdp-arrow:hover{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.18)}.pdp-arrow--prev{left:10px}.pdp-arrow--next{right:10px}.pdp-image-wrap{border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#fafafa}.pdp-image{width:100%;height:auto;display:block}.pdp-thumbnails{display:flex;flex-wrap:wrap;gap:.5rem}.pdp-thumb{width:72px;height:72px;border-radius:6px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#fafafa;transition:border-color .15s}.pdp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pdp-thumb:hover{border-color:var(--gold-muted)}.pdp-thumb--active{border-color:var(--accent)}.pdp-name{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;line-height:1.25}.pdp-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}.pdp-price{font-size:1rem}.pdp-vault-nudge{font-size:.8rem;color:var(--muted)}.pdp-vault-nudge a{color:var(--gold-muted);font-weight:600}.pdp-description{font-size:.95rem;color:var(--muted);line-height:1.6;margin:0 0 1.5rem}.pdp-option-group{margin-bottom:1rem}.pdp-option-label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem}.pdp-select{width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:4px;font:inherit;background:#fff}.pdp-size-grid{display:flex;flex-wrap:wrap;gap:.4rem}.pdp-size-btn{padding:.35rem .75rem;border:1px solid var(--border);border-radius:4px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer;transition:background .1s,border-color .1s}.pdp-size-btn:hover{border-color:var(--emerald)}.pdp-size-btn--active{border-color:var(--accent)}.pdp-atc,.pdp-size-btn--active{background:var(--accent);color:#fff}.pdp-atc{width:100%;padding:.75rem 1rem;border:none;border-radius:6px;font:inherit;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background .15s,opacity .15s}.pdp-atc:disabled{background:#888;cursor:not-allowed}.pdp-atc:not(:disabled):hover{background:var(--gold-muted)}.pdp-sign-in-note{font-size:.8rem;color:var(--muted);margin-top:.75rem}.pdp-sign-in-note a{color:var(--gold-muted)}.pdp-meta{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.8rem;display:flex;flex-direction:column;gap:.2rem}.pdp-meta,.pdp-meta a{color:var(--muted)}.pdp-meta-val{color:var(--text)}.map-block{margin-top:.5rem}.map-block .map-note{font-size:.8rem;color:var(--muted);margin:0 0 .75rem;max-width:42rem}.map-embed{border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:320px;height:45vh;max-height:480px}.map-embed iframe{width:100%;height:100%;border:0;min-height:320px}.map-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.75rem;font-size:.875rem}.map-actions a{color:var(--gold-muted);font-weight:600}.vault-dialog{max-width:28rem;width:calc(100% - 2rem);padding:0;border:1px solid var(--border);border-radius:10px;box-shadow:none}.vault-dialog::-webkit-backdrop{background:rgba(0,0,0,.45)}.vault-dialog::backdrop{background:rgba(0,0,0,.45)}.vault-dialog__inner{padding:1.25rem 1.25rem 1rem}.vault-dialog h2{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--gold-muted);letter-spacing:.04em;text-transform:uppercase}.vault-dialog p.intro{margin:0 0 1rem;font-size:.9rem;color:var(--muted)}.vault-dialog label.field{display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem}.vault-dialog input[type=email]{width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:6px;font:inherit;margin-bottom:1rem}.vault-dialog .check{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.75rem;font-size:.85rem;line-height:1.4}.vault-dialog .check input{margin-top:.2rem;flex-shrink:0}.vault-dialog .actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.vault-dialog .actions button{font:inherit;padding:.55rem 1rem;border-radius:6px;cursor:pointer}.vault-dialog .actions button[type=submit]{background:var(--accent);color:#fff;border:none}.vault-dialog .actions button[type=button].ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.vault-dialog .err{color:#8a2b2b;font-size:.8rem;margin:0 0 .75rem;display:none}.vault-dialog .err[aria-hidden=false]{display:block}.vault-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:.7rem 1.5rem;background:linear-gradient(90deg,#2a2218,#3d3220);border-bottom:2px solid var(--gold);font-size:.85rem;color:#f5ead5}.vault-banner--pending{background:linear-gradient(90deg,#1a2a1e,#1e3028);border-bottom-color:#2e7d52}.vault-banner--pending .vault-banner__msg strong{color:#6fcf97}.vault-banner--full-price{background:linear-gradient(90deg,#1a1a2a,#222238);border-bottom-color:#6688cc}.vault-banner--full-price .vault-banner__msg strong{color:#8aaae8}.vault-banner__inline-cta{background:none;border:none;color:var(--gold);font:inherit;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.vault-banner__inline-cta:hover{opacity:.8}.vault-banner__msg strong{color:var(--gold)}.vault-banner__exit{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:.3rem .85rem;border-radius:4px;font:inherit;font-size:.8rem;cursor:pointer;letter-spacing:.04em;transition:background .15s,color .15s;white-space:nowrap}.vault-banner--full-price .vault-banner__exit{border-color:#6688cc;color:#8aaae8}.vault-banner__exit:hover{background:var(--gold);color:#1a1208}.vault-banner--full-price .vault-banner__exit:hover{background:#6688cc;color:#fff}.vault-banner[hidden]{display:none!important}.price-badge{display:inline-block;font-size:.8rem;font-weight:600;color:var(--muted);margin-top:.1rem}.price-badge--vault{color:var(--gold-muted)}.contact-line{font-size:.95rem}.contact-line strong{display:inline-block;min-width:5rem}.social-icons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.social-icons a.fb{color:var(--gold-muted);font-weight:600}.icon-ph{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px dashed var(--border);border-radius:6px;font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}footer.bar{background:var(--bar);color:var(--bar-text);padding:.85rem 1.25rem;font-size:.82rem}footer.bar .inner{max-width:1200px;margin:0 auto}footer.bar a{color:var(--bar-text);text-decoration:none}footer.bar a:hover{text-decoration:underline}footer.bar .fine{margin-top:1rem;font-size:.75rem;opacity:.75}footer.bar .social-icons{margin-top:.5rem}footer.bar .icon-ph{border-color:rgba(255,255,255,.35);color:rgba(255,255,255,.75)}footer.bar a[href*=facebook]{color:var(--bar-text);font-weight:600}.footer-inner{justify-content:space-between;gap:1rem}.footer-inner,.footer-left{display:flex;align-items:center;flex-wrap:wrap}.footer-left{gap:1.25rem}.footer-nav{display:flex;gap:1rem 1.25rem;flex-wrap:wrap}.footer-tagline{margin:0;opacity:.6;font-size:.78rem}.footer-socials{display:flex;align-items:center;gap:.75rem}.footer-social-link{display:flex;align-items:center;color:var(--bar-text);opacity:.85;transition:opacity .15s}.footer-social-link:hover{opacity:1;text-decoration:none!important}.footer-social-ph{opacity:.4;cursor:default}.footer-social-ph:hover{opacity:.4}.cart-btn{position:relative;display:inline-flex;align-items:center;gap:.3rem;background:none;border:1px solid transparent;border-radius:6px;padding:.3rem .6rem;font-size:.85rem;font-family:inherit;cursor:pointer;color:var(--bar-text,#1a1a1a);transition:border-color .15s,background .15s}.cart-btn:hover{background:rgba(0,0,0,.04);border-color:var(--emerald)}.cart-btn__icon{font-size:1rem}.cart-btn__badge{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--emerald);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900;animation:cart-backdrop-in .2s ease}@keyframes cart-backdrop-in{0%{opacity:0}to{opacity:1}}.cart-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(420px,100vw);background:#fff;z-index:901;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.cart-drawer--open{transform:translateX(0)}.cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid #e8e2d9}.cart-drawer__title{font-family:var(--font-serif,Georgia,serif);font-size:1.2rem;font-weight:600;margin:0;color:#2a1f14}.cart-drawer__close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#666;padding:.2rem .4rem;border-radius:4px;transition:color .15s,background .15s}.cart-drawer__close:hover{color:#1a1a1a;background:rgba(0,0,0,.06)}.cart-drawer__body{flex:1 1;overflow-y:auto;padding:1rem 1.4rem}.cart-empty{display:flex;flex-direction:column;align-items:center;padding:3rem 0;gap:1rem;text-align:center}.cart-empty__msg{font-size:1rem;color:#666}.cart-empty__cta{background:none;border:1px solid var(--emerald);color:var(--emerald);font-family:inherit;font-size:.9rem;padding:.55rem 1.2rem;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.cart-empty__cta:hover{background:var(--emerald);color:#fff}.cart-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.cart-item{display:flex;gap:.85rem;padding-bottom:1.1rem;border-bottom:1px solid #f0ebe4}.cart-item:last-child{border-bottom:none}.cart-item__img-wrap{flex-shrink:0;width:76px;height:96px;border-radius:6px;overflow:hidden;background:#f5f0ea}.cart-item__img{width:100%;height:100%;object-fit:cover}.cart-item__info{flex:1 1;display:flex;flex-direction:column;gap:.2rem}.cart-item__name{font-size:.88rem;font-weight:600;color:#1a1a1a;margin:0}.cart-item__variant{font-size:.78rem;color:#888;margin:0}.cart-item__price{font-size:.85rem;color:#444;margin:0}.cart-item__price--vault{color:var(--emerald);font-weight:600}.cart-item__qty-row{display:flex;align-items:center;gap:.45rem;margin-top:.3rem}.cart-qty-btn{width:26px;height:26px;border:1px solid #ddd;border-radius:4px;background:none;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.cart-qty-btn:hover{border-color:var(--emerald)}.cart-qty-val{font-size:.88rem;min-width:20px;text-align:center;font-weight:500}.cart-remove-btn{background:none;border:none;font-family:inherit;font-size:.75rem;color:#999;cursor:pointer;text-decoration:underline;margin-left:auto;transition:color .15s}.cart-remove-btn:hover{color:#c0392b}.cart-drawer__footer{padding:1rem 1.4rem 1.4rem;border-top:1px solid #e8e2d9;display:flex;flex-direction:column;gap:.7rem}.cart-subtotal{display:flex;justify-content:space-between;font-size:.95rem;font-weight:600;color:#2a1f14}.cart-vault-note{font-size:.75rem;color:var(--emerald);margin:0;line-height:1.4}.cart-checkout-btn{display:block;text-align:center;background:var(--emerald);color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;padding:.75rem 1rem;border-radius:8px;text-decoration:none;letter-spacing:.02em;transition:background .15s}.cart-checkout-btn:hover:not(:disabled){background:var(--emerald-muted)}.cart-checkout-btn:disabled{opacity:.6;cursor:not-allowed}.cart-checkout-error{font-size:.8rem;color:#c0392b;margin:0 0 .5rem;text-align:center}.cart-clear-btn{background:none;border:none;font-family:inherit;font-size:.78rem;color:#aaa;cursor:pointer;text-decoration:underline;text-align:center;transition:color .15s}.cart-clear-btn:hover{color:#c0392b}.pdp-atc--added{background:var(--emerald)!important;border-color:var(--emerald)!important;color:#fff!important;cursor:default}.hero-photo-gallery{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1.5rem 0}.hero-photo-item{margin:0;flex:1 1 240px;max-width:360px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.hero-photo-item img{width:100%;height:auto;display:block;object-fit:cover}.hero-photo-caption{font-size:.78rem;color:var(--muted);text-align:center;padding:.4rem .5rem .5rem;background:#fafaf8}.reel-feed{gap:2rem;margin-top:1.5rem}.reel-feed,.reel-feed__item{display:flex;flex-direction:column}.reel-feed__item{gap:.5rem}.reel-feed__title{font-size:.9rem;font-weight:600;color:#2a1f14;margin:0;text-align:center}.reel-feed-empty{margin:1.5rem 0;padding:1.5rem;background:#fafaf8;border:1px dashed #ccc;border-radius:8px;text-align:center;font-size:.88rem;color:#888}.reel-feed-empty a{color:var(--emerald)}.admin-shell{max-width:780px;margin:0 auto;padding:2rem 1.25rem 4rem}.admin-header{margin-bottom:2rem}.admin-title{font-family:var(--font-serif,Georgia,serif);font-size:1.6rem;font-weight:700;margin:0 0 .4rem;color:#1a1a1a}.admin-subtitle{font-size:.875rem;color:#666;margin:0;max-width:580px;line-height:1.5}.admin-saved{display:inline-block;margin-top:.6rem;font-size:.82rem;color:var(--emerald);font-weight:600}.admin-card{background:#fff;border:1px solid #e8e2d9;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem}.admin-card__title{font-size:1rem;font-weight:700;margin:0 0 1.25rem;color:#1a1a1a;border-bottom:1px solid #f0ebe4;padding-bottom:.65rem}.admin-form{gap:1rem}.admin-form,.admin-form__row{display:flex;flex-direction:column}.admin-form__row{gap:.3rem}.admin-label{font-size:.82rem;font-weight:600;color:#333}.admin-optional{font-weight:400;color:#888}.admin-input,.admin-select{font-family:inherit;font-size:.9rem;padding:.55rem .75rem;border:1px solid #d4cdc5;border-radius:6px;background:#fafaf8;color:#1a1a1a;transition:border-color .15s;width:100%}.admin-input:focus,.admin-select:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 2px rgba(46,125,82,.15)}.admin-hint{font-size:.75rem;color:#888;margin:.1rem 0 0;line-height:1.4}.admin-err{font-size:.83rem;color:#8a1f1f;margin:0}.admin-btn{font-family:inherit;font-size:.85rem;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;border:1px solid transparent;padding:.45rem .85rem}.admin-btn--primary{background:var(--emerald);color:#fff;font-weight:600;align-self:flex-start;padding:.6rem 1.25rem}.admin-btn--primary:hover{background:var(--emerald-muted)}.admin-btn--icon{background:none;border-color:#ddd;color:#444;padding:.3rem .55rem}.admin-btn--icon:hover:not(:disabled){border-color:var(--emerald);color:var(--emerald)}.admin-btn--icon:disabled{opacity:.3;cursor:default}.admin-btn--danger{background:none;border-color:#e8b4b4;color:#8a1f1f}.admin-btn--danger:hover{background:#fdf2f2}.admin-reel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.admin-reel-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem .9rem;background:#fafaf8;border:1px solid #eee;border-radius:8px}.admin-reel-item__info{display:flex;flex-direction:column;gap:.2rem;flex:1 1;min-width:0}.admin-reel-item__platform{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--emerald)}.admin-reel-item__title{font-size:.88rem;font-weight:600;color:#1a1a1a}.admin-reel-item__url{font-size:.75rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.admin-reel-item__url:hover{text-decoration:underline;color:var(--emerald)}.admin-reel-item__actions{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.admin-empty{font-size:.88rem;color:#888;text-align:center;padding:1.5rem 0;margin:0}.admin-back{font-size:.85rem;margin-top:1.5rem}.admin-back a{color:var(--emerald)}.footer-admin-link{opacity:.5;font-size:.75rem}.footer-admin-link:hover{opacity:1}.admin-ttl-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.15rem}.admin-ttl-btn{font-family:inherit;font-size:.82rem;padding:.35rem .8rem;border:1px solid #d4cdc5;border-radius:20px;background:#fafaf8;color:#444;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.admin-ttl-btn:hover{border-color:var(--emerald);color:var(--emerald)}.admin-ttl-btn--active{background:var(--emerald);border-color:var(--emerald);color:#fff;font-weight:600}.admin-btn--ghost{background:none;border:1px solid #d4cdc5;color:#666;font-size:.78rem;padding:.3rem .75rem;white-space:nowrap}.admin-btn--ghost:hover{border-color:#c0392b;color:#c0392b}.admin-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.65rem;border-bottom:1px solid #f0ebe4}.admin-card__title-row .admin-card__title{margin-bottom:0;padding-bottom:0;border-bottom:none}.admin-expired-badge{display:inline-block;margin-left:.6rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8a1f1f;background:#fdf2f2;border:1px solid #e8b4b4;border-radius:999px;padding:.1rem .55rem;vertical-align:middle}.admin-reel-item--expired{opacity:.55;background:#fdf8f8;border-color:#f0d8d8}.admin-reel-item__meta-row{display:flex;align-items:center;gap:.6rem}.admin-reel-item__ttl{font-size:.72rem;color:var(--emerald);font-weight:500}.admin-reel-item__ttl--expired{color:#8a1f1f}.admin-section{max-width:900px;margin:2rem auto;padding:0 1.25rem}.admin-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.admin-section__header h2{margin:0;font-size:1.1rem}.admin-export-btn{font:inherit;font-size:.82rem;font-weight:600;padding:.35rem .85rem;border:1px solid var(--emerald);border-radius:4px;color:var(--emerald);background:none;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.admin-export-btn:hover{background:var(--emerald);color:#fff}.admin-summary{font-size:.82rem;color:var(--muted);margin:0 0 .75rem}.admin-error,.admin-loading{font-size:.88rem;color:var(--muted);padding:1rem 0}.admin-error{color:#c0392b}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:2px solid var(--border);padding:.4rem .6rem}.admin-table td{padding:.5rem .6rem;border-bottom:1px solid var(--border);color:var(--text)}.admin-tabs{display:flex;gap:0;border-bottom:2px solid #e8e2d9;margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-btn{flex-shrink:0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:.65rem 1.1rem;font-size:.88rem;font-weight:500;color:#888;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.admin-tab-btn:hover{color:#2a2a2a}.admin-tab-btn--active{color:var(--emerald);border-bottom-color:var(--emerald);font-weight:700}.admin-tab-content{min-height:200px}.admin-tab-content--padded{padding:1rem 0}.admin-degrade-card{background:#f9f7f4;border:1px solid #e8e2d9;border-radius:10px;padding:2rem 1.5rem;max-width:480px}.admin-degrade-card__msg{font-size:.9rem;color:#666;margin:0;line-height:1.6}.admin-users__protected{font-size:.75rem;color:#aaa;font-style:italic}.admin-users__remove{background:none;border:1px solid #ddd;border-radius:4px;padding:.2rem .6rem;font-size:.78rem;color:#888;cursor:pointer;transition:border-color .15s,color .15s}.admin-users__remove:hover{border-color:#c0392b;color:#c0392b}.admin-users__confirm{font-size:.82rem}.admin-users__confirm-yes{background:#c0392b;color:#fff;border:none;border-radius:4px}.admin-users__confirm-no,.admin-users__confirm-yes{padding:.2rem .5rem;font-size:.78rem;cursor:pointer}.admin-users__confirm-no{background:none;border:1px solid #ddd;border-radius:4px}.admin-users__add-form{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.admin-users__add-title{font-size:.95rem;font-weight:600;margin:0 0 .75rem;color:#2a2a2a}.admin-users__add-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.admin-users__email-input{flex:1 1;min-width:200px}.admin-users__email-input,.admin-users__role-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit}.admin-users__role-select{background:#fff}.admin-users__add-btn{padding:.5rem 1.1rem;background:var(--emerald);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.admin-users__add-btn:disabled{opacity:.6;cursor:not-allowed}.admin-type-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;width:-moz-fit-content;width:fit-content}.admin-type-btn{background:none;border:none;padding:.4rem 1rem;font:inherit;font-size:.875rem;cursor:pointer;color:#888;transition:background .15s,color .15s}.admin-type-btn:hover{background:#f5f0ea;color:#2a2a2a}.admin-type-btn--active{background:var(--emerald);color:#fff;font-weight:600}.admin-schedule-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:540px){.admin-schedule-row{grid-template-columns:1fr}}.announcement-banner{width:100%;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;text-align:center;line-height:1.4}.announcement-banner--promo{background:#fff8e6;border-bottom:1px solid #f0e0b0;color:#5c4a1a}.announcement-banner--info{background:#e8f0fe;border-bottom:1px solid #b4c8f8;color:#1a3a6b}.announcement-banner--urgent{background:#fdf2f2;border-bottom:1px solid #e8b4b4;color:#7a1a1a}