:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;--bg:#181815;--cream:#f1e9dc;--muted:#bfbab0;--glass:rgba(34,33,30,.36);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#151514}body{overflow:hidden}button,a,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f8d19c;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.site-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,510px) minmax(0,1fr);background:radial-gradient(ellipse at 25% 26%,#39382f 0,transparent 40%),radial-gradient(ellipse at 75% 84%,#352b24 0,transparent 44%),#181815}.desktop-note,.desktop-side{position:relative;min-width:0;display:flex;flex-direction:column;padding:clamp(24px,4vw,80px);color:#f4e7d2}.desktop-note{justify-content:space-between}.eyebrow,.desktop-note-footer,.desktop-side{font-size:10px;letter-spacing:.22em;font-weight:650}.desktop-note-main{max-width:360px}.desktop-note-main .hairline{display:block;width:34px;height:1px;background:#c6b18f;margin-bottom:34px}.desktop-note-main h1{font-weight:500;font-size:clamp(32px,4.5vw,76px);letter-spacing:-.075em;line-height:.99;margin:0 0 28px}.desktop-note-main h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.desktop-note-main p{font-size:14px;line-height:1.8;color:#bdb6aa;max-width:300px}.instruction-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.instruction-pills span{border:1px solid #645d50;border-radius:50px;color:#e0d7c7;padding:9px 11px;font-size:10px;letter-spacing:.03em}.desktop-note-footer{color:#9f9586}.desktop-side{justify-content:space-between;align-items:flex-end;color:#918a7d;white-space:nowrap}.desktop-side span:last-child{writing-mode:vertical-rl;transform:rotate(180deg)}.app{position:relative;isolation:isolate;height:100dvh;min-height:550px;max-height:1100px;overflow:hidden;background:#60584e;box-shadow:0 0 110px #0008;touch-action:pan-y;user-select:none}.feed{position:absolute;inset:0;background:#686257}.feed-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;opacity:1;transform:scale(1);transition:opacity .28s ease,transform .75s var(--ease);pointer-events:none}.feed-image.enter{opacity:.1;transform:scale(1.07)}.feed:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,10,.48) 0%,transparent 23%,transparent 36%,rgba(8,8,8,.04) 49%,rgba(13,13,12,.45) 67%,rgba(8,8,8,.86) 100%)}.topbar{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 20px) 22px 10px}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none}.brand-mark{width:37px;height:37px;display:flex;align-items:center;justify-content:center;border:1px solid #fff8;font-size:12px;font-weight:700;letter-spacing:-.11em;background:#211f1b36;backdrop-filter:blur(8px)}.mark-slash{font-weight:300;opacity:.8;margin:0 2px}.brand-wordmark{font-size:12px;letter-spacing:.19em;font-weight:720}.brand-split{opacity:.58;margin:0 2px}.icon-button{width:40px;height:40px;display:grid;place-items:center;background:#211f1b38;border:1px solid #fff5;border-radius:50%;color:white;backdrop-filter:blur(10px)}.icon-button svg{width:22px;height:22px}.feed-meta{position:absolute;z-index:2;top:calc(env(safe-area-inset-top) + 97px);left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:650;letter-spacing:.19em;color:#f4eee5c9}.feed-meta-title{border-bottom:1px solid #fff5;padding-bottom:8px}.action-rail{position:absolute;z-index:4;right:13px;top:35%;display:flex;flex-direction:column;align-items:center;gap:14px}.rail-action{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:#fff;text-shadow:0 1px 8px #0009;min-width:58px;font-size:10px;letter-spacing:.01em}.rail-icon{width:45px;height:45px;border:1px solid #fff5;border-radius:50%;display:grid;place-items:center;background:#211e1b45;backdrop-filter:blur(12px);transition:background .2s,transform .2s}.rail-action:active .rail-icon{transform:scale(.94)}.rail-icon svg{width:21px;height:21px}.product-intro{position:absolute;z-index:3;bottom:calc(env(safe-area-inset-bottom) + 24px);left:25px;right:25px;padding-right:5px;pointer-events:none}.product-intro>*{pointer-events:auto}.item-kicker{font-size:10px;letter-spacing:.22em;font-weight:690;color:#eddfc8;display:flex;align-items:center;gap:8px;margin-bottom:14px}.tiny-dot{display:block;width:5px;height:5px;background:#ebd1a3;border-radius:50%}.product-intro h2{font-weight:440;font-family:Georgia,'Times New Roman',serif;font-size:clamp(37px,6vh,64px);line-height:.99;letter-spacing:-.06em;max-width:calc(100% - 54px);margin:0 0 12px;text-wrap:balance;text-shadow:0 2px 22px #0005}.product-intro p{font-size:13px;color:#e5dfd5;line-height:1.45;max-width:calc(100% - 68px);margin:0 0 26px;text-shadow:0 2px 15px #0009}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.product-price{font-weight:550;font-size:20px;letter-spacing:-.05em;white-space:nowrap}.buy-button{border:0;background:#f7efe3;color:#221f1a;min-height:53px;flex:1;max-width:234px;padding:0 14px 0 20px;text-align:left;font-size:13px;font-weight:730;display:flex;justify-content:space-between;align-items:center;transition:background .2s,transform .2s}.buy-button:hover{background:white}.buy-button:active{transform:scale(.98)}.buy-arrow{font-size:23px;font-weight:300}.bottom-track{display:flex;gap:5px;margin-top:22px}.bottom-track>span{height:2px;flex:1;background:#ffffff59}.bottom-track>span.active{background:#fff}.feed-hint{position:absolute;z-index:3;right:23px;top:calc(env(safe-area-inset-top) + 165px);writing-mode:vertical-rl;font-size:9px;font-weight:650;letter-spacing:.2em;color:#ffffffc2}.feed-hint span{margin-top:14px;font-size:18px}.desktop-feed-controls{position:absolute;z-index:4;right:24px;bottom:calc(env(safe-area-inset-bottom) + 150px);display:flex;flex-direction:column;gap:4px}.desktop-feed-controls button{width:33px;height:33px;background:#fff2;border:1px solid #fff5;color:#fff;border-radius:50%}.desktop-feed-controls button:disabled{opacity:.25}.modal-layer{position:absolute;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.56);backdrop-filter:blur(3px);animation:fadeIn .22s ease}.sheet{width:100%;max-height:min(83%,790px);overflow:auto;background:#f4efe6;color:#282722;padding:24px 27px calc(env(safe-area-inset-bottom) + 28px);border-radius:19px 19px 0 0;animation:sheetIn .36s var(--ease);overscroll-behavior:contain;user-select:text}.sheet-handle{width:34px;height:4px;border-radius:10px;background:#c5bfb4;margin:-9px auto 26px}.sheet-header{display:flex;justify-content:space-between;align-items:center;gap:14px}.sheet-label{font-size:10px;letter-spacing:.19em;color:#766e62;font-weight:760}.sheet-close,.viewer-close{width:37px;height:37px;border:1px solid #bfb7aa;background:transparent;color:inherit;border-radius:50%;font-size:20px;font-weight:300}.sheet h2{font-family:Georgia,serif;font-weight:400;font-size:39px;line-height:1.02;letter-spacing:-.06em;margin:17px 0}.sheet p{color:#5b564e;font-size:14px;line-height:1.7;margin:12px 0 0}.sheet .sheet-divide{height:1px;background:#d5ccbe;margin:24px 0}.sheet .detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#686056;font-size:13px;padding:12px 0;border-bottom:1px solid #dfd6c9}.sheet .detail-row strong{color:#27251f}.sheet .review-card{padding:17px 0;border-bottom:1px solid #dfd6c9}.review-card blockquote{font-family:Georgia,serif;font-size:20px;line-height:1.4;letter-spacing:-.02em;margin:12px 0}.review-card cite{font-size:11px;color:#766c62;font-style:normal}.stars{letter-spacing:.2em;color:#a17a45;font-size:17px}.rating-score{font-family:Georgia,serif;font-size:73px;letter-spacing:-.08em;line-height:1;margin-top:23px}.rating-score span{font-size:22px;letter-spacing:0}.rating-subtitle{font-size:12px;color:#756b5e;margin-top:8px}.options-label{font-size:11px;font-weight:770;text-transform:uppercase;letter-spacing:.14em;color:#71695d;margin:27px 0 11px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option{border:1px solid #cfc6b9;background:transparent;color:#423d34;padding:15px 12px;text-align:left;display:flex;flex-direction:column;gap:8px;min-height:74px}.option strong{font-size:12px}.option small{font-size:11px;color:#766f62}.option.selected{border-color:#211e19;background:#24221e;color:#f7efe4}.option.selected small{color:#d8caba}.sheet-purchase-footer{margin-top:26px;border-top:1px solid #d4cabf;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:18px}.sheet-purchase-footer .total-label{font-size:11px;color:#6b6257;letter-spacing:.09em}.sheet-purchase-footer strong{font-size:25px;letter-spacing:-.05em}.solid-action{border:0;background:#26221d;color:#f8f0e4;font-weight:680;min-height:52px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.solid-action.full{width:100%;margin-top:22px}.fine-print{font-size:11px!important;color:#71685d!important}.purchase-shade{position:absolute;inset:0;z-index:9;background:#0706068c;animation:fadeIn .25s}.purchase-panel{position:absolute;right:0;top:0;bottom:0;width:min(91%,445px);z-index:10;background:#f4efe6;color:#25221d;display:flex;flex-direction:column;box-shadow:-24px 0 80px #0006;animation:panelIn .38s var(--ease);touch-action:pan-y;user-select:text}.panel-top{padding:calc(env(safe-area-inset-top) + 24px) 23px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-top small{font-size:10px;letter-spacing:.15em;font-weight:740;color:#867a6d}.panel-scroll{padding:0 23px 28px;overflow:auto;overscroll-behavior:contain;flex:1}.panel-hero{display:flex;gap:15px;padding:12px 0 18px;border-top:1px solid #d7cfc2;border-bottom:1px solid #d7cfc2}.panel-hero img{width:87px;height:106px;object-fit:cover}.panel-hero h2{font-family:Georgia,serif;font-size:28px;line-height:1.05;font-weight:400;margin:6px 0 12px;letter-spacing:-.04em}.panel-hero span{font-size:17px;font-weight:680}.panel-footer{padding:18px 23px calc(env(safe-area-inset-bottom) + 22px);background:#ede5da;border-top:1px solid #d4c9bb}.panel-footer .panel-total{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;font-size:11px;letter-spacing:.07em}.panel-total strong{font-size:23px;letter-spacing:-.04em}.panel-footer .solid-action{width:100%}.viewer{position:absolute;inset:0;z-index:14;background:#181714;color:#f9eee1;display:flex;flex-direction:column;animation:fadeIn .18s;touch-action:none}.viewer-top{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 20px) 22px 15px;font-size:11px;font-weight:650;letter-spacing:.12em}.viewer-close{border-color:#fff7;color:white}.viewer-image-wrap{position:relative;display:flex;justify-content:center;align-items:center;flex:1;min-height:0;padding:10px 14px}.viewer-image-wrap img{width:100%;height:100%;object-fit:contain;max-width:900px;transition:opacity .14s}.viewer-hit{position:absolute;top:0;bottom:0;width:22%;z-index:1;background:transparent;border:0;color:#fff;font-size:24px;text-align:left;padding-left:10px}.viewer-hit.next{right:0;text-align:right;padding-right:10px}.viewer-hit.prev{left:0}.viewer-hit:disabled{opacity:.2}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;padding:15px 23px calc(env(safe-area-inset-bottom) + 22px);font-size:11px;color:#d2c3b2}.viewer-bottom button{border:1px solid #fff7;color:white;background:transparent;padding:12px 16px}.menu-sheet .menu-link{width:100%;background:transparent;text-align:left;border:0;border-bottom:1px solid #d6cfc4;padding:16px 0;font-family:Georgia,serif;font-size:26px;display:flex;justify-content:space-between;color:#282722}.demo-banner{padding:12px 14px;background:#e9ddc9;color:#645741;font-size:11px;line-height:1.5;margin:20px 0}.toast{position:absolute;z-index:30;bottom:calc(env(safe-area-inset-bottom) + 34px);left:25px;right:25px;background:#f4efe6;color:#2a2722;padding:14px 17px;font-size:12px;line-height:1.5;box-shadow:0 8px 35px #0004;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.shown{opacity:1;transform:translateY(0)}.app.overlay-open .action-rail,.app.overlay-open .product-intro,.app.overlay-open .desktop-feed-controls{pointer-events:none}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes sheetIn{from{transform:translateY(50px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes panelIn{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(max-width:1050px){.site-shell{display:block}.desktop-note,.desktop-side{display:none}.app{max-height:none;max-width:none;min-height:0}}@media(min-width:1051px){.app{border-left:1px solid #ffffff24;border-right:1px solid #ffffff24}.product-intro{bottom:27px}.desktop-side{padding-right:38px}}@media(max-width:380px){.action-rail{right:7px;gap:9px}.rail-icon{width:41px;height:41px}.rail-action{min-width:52px;font-size:9px}.product-intro{left:19px;right:19px}.product-intro h2{font-size:39px}.product-intro p{margin-bottom:16px}.buy-button{min-height:48px}.feed-meta{left:20px;right:20px}}@media(max-height:690px){.action-rail{top:29%;gap:7px}.rail-icon{width:39px;height:39px}.product-intro h2{font-size:37px}.product-intro p{margin-bottom:14px}.bottom-track{margin-top:12px}.feed-hint{display:none}.product-intro{bottom:calc(env(safe-area-inset-bottom) + 13px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v0.2: keep the swipe hint on the left, away from the right-hand About rail. */
.feed-hint{right:auto;left:26px;top:calc(env(safe-area-inset-top) + 148px);writing-mode:horizontal-tb;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.18em;max-width:calc(100% - 110px);white-space:nowrap}
.feed-hint span{margin:0;font-size:17px}
@media(max-width:380px){.feed-hint{left:20px;top:calc(env(safe-area-inset-top) + 145px);font-size:8px}}
/* Desktop is a bespoke catalog, not a centered phone mock-up. */
.desktop-catalog,.desktop-details,.desktop-photo-tools{display:none}
@media(min-width:1051px){
  html,body{background:#ede8de;color:#27251f}
  body{overflow:hidden}
  .site-shell{display:block;min-height:100dvh;background:#ede8de}
  .desktop-note,.desktop-side{display:none}
  .app{display:grid;grid-template-columns:minmax(228px,22%) minmax(0,1fr) minmax(330px,33%);grid-template-rows:84px minmax(0,1fr);width:100%;height:100dvh;min-height:620px;max-height:none;max-width:none;box-shadow:none;border:0;background:#ede8de;touch-action:auto}
  .topbar{position:relative;inset:auto;grid-column:1/-1;grid-row:1;z-index:5;padding:0 clamp(28px,3.2vw,58px);background:#f4f0e8;color:#25241f;border-bottom:1px solid #d7d0c2}
  .brand{color:#24221d}.brand-mark{border-color:#25241f77;background:transparent}.brand-wordmark{font-size:14px}
  .icon-button{background:transparent;border-color:#bcb3a6;color:#25241f}
  .feed{position:relative;inset:auto;grid-column:2;grid-row:2;min-width:0;min-height:0;background:#afa18e;overflow:hidden}
  .feed-image{object-position:center center;transition:opacity .28s ease,transform .75s var(--ease)}
  .feed:after{background:linear-gradient(180deg,transparent 72%,rgba(18,15,11,.36) 100%)}
  .desktop-catalog{display:flex;flex-direction:column;grid-column:1;grid-row:2;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:#f4f0e8;border-right:1px solid #d9d1c5;color:#24231e;padding:clamp(24px,3vw,48px) clamp(16px,2vw,36px) 19px;gap:26px}
  .desktop-eyebrow,.desktop-section-label{font-size:10px;letter-spacing:.19em;font-weight:750;color:#8a7e70}
  .desktop-catalog-heading h2{font:400 clamp(25px,2.45vw,36px)/1.06 Georgia,serif;letter-spacing:-.045em;margin:19px 0 11px;max-width:220px}
  .desktop-catalog-heading p{font-size:12px;line-height:1.65;color:#7c7469;max-width:240px;margin:0}
  .desktop-catalog-list{display:grid;gap:9px}
  .desktop-catalog-item{width:100%;display:flex;align-items:center;min-width:0;gap:11px;text-align:left;padding:9px;border:1px solid transparent;background:transparent;color:#333029;transition:background .2s,border-color .2s}
  .desktop-catalog-item:hover{background:#ebe4d9}.desktop-catalog-item.is-current{border-color:#b5a998;background:#e9e0d3}
  .desktop-catalog-thumb{width:57px;height:70px;flex:0 0 57px;object-fit:cover;background:#b0a08f}
  .desktop-catalog-copy{display:flex;flex-direction:column;min-width:0;gap:5px}
  .desktop-catalog-category{font-size:8px;font-weight:760;letter-spacing:.12em;color:#877968}
  .desktop-catalog-copy strong{font:400 16px/1.1 Georgia,serif;letter-spacing:-.025em}
  .desktop-catalog-price{font-size:11px;color:#635b51}
  .desktop-catalog-arrow{margin-left:auto;align-self:flex-start;color:#8b7d6b;font-size:13px}
  .desktop-catalog-footer{margin:auto 0 0;font-size:9px;letter-spacing:.14em;color:#8b806e;border-top:1px solid #dad1c3;padding-top:22px}
  .desktop-details{display:flex;flex-direction:column;grid-column:3;grid-row:2;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;color:#27251f;padding:clamp(26px,3.2vw,58px) clamp(24px,3.2vw,58px) 26px;background:#f4f0e8}
  .desktop-details-kicker{display:flex;justify-content:space-between;align-items:center;gap:10px}
  .desktop-details-count{font-size:9px;letter-spacing:.1em;color:#a19483}
  .desktop-product-name{font:400 clamp(35px,3.25vw,60px)/.98 Georgia,serif;letter-spacing:-.055em;margin:clamp(25px,4vh,48px) 0 11px;text-wrap:balance}
  .desktop-product-short{font-size:15px;color:#72695c;margin:0 0 clamp(24px,4vh,46px);line-height:1.55}
  .desktop-product-about{font-size:13px;line-height:1.75;color:#685f54;margin:12px 0 16px}
  .desktop-review-line{display:flex;align-items:center;gap:8px;color:#7b7060;font-size:11px;flex-wrap:wrap}
  .desktop-review-line strong{color:#302c25;font-size:13px}.desktop-stars{color:#ab8352;letter-spacing:.05em;font-size:14px}
  .desktop-detail-links{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 25px}
  .desktop-detail-link{border:1px solid #d1c6b7;background:transparent;color:#4d463d;padding:10px 12px;font-size:11px;white-space:nowrap}
  .desktop-detail-link:hover{border-color:#74634f;background:#eae1d5}
  .desktop-purchase{margin-top:auto;border-top:1px solid #cec3b4;padding-top:24px}
  .desktop-choices{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 20px}
  .desktop-choice{background:transparent;color:#5f574c;border:1px solid #cfc4b5;padding:10px 12px;text-align:left;font-size:11px}
  .desktop-choice.selected{background:#29251e;border-color:#29251e;color:#f5ece0}
  .desktop-total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.desktop-total span{font-size:9px;color:#817464;letter-spacing:.14em}.desktop-total strong{font-size:23px;font-weight:600}
  .desktop-buy{width:100%;background:#25221d;border:0;color:#faf2e8;padding:17px 20px;text-align:left;display:flex;justify-content:space-between;font-size:13px;font-weight:680}
  .desktop-buy:hover{background:#42372b}.desktop-disclaimer{font-size:9px;letter-spacing:.06em;line-height:1.5;color:#857b6e;margin:12px 0 0}
  .desktop-photo-tools{position:absolute;display:flex;align-items:center;gap:5px;z-index:4;bottom:20px;left:calc(22% + 22px);color:#fff;font-size:10px;letter-spacing:.13em;pointer-events:none}
  .desktop-photo-tools>*{pointer-events:auto}.desktop-photo-tools>button{height:38px;min-width:38px;background:rgba(25,23,20,.55);color:#fff;border:1px solid #fff6;backdrop-filter:blur(8px)}
  .desktop-photo-tools>span{padding:0 11px;text-shadow:0 1px 5px #000}
  .desktop-photo-tools .desktop-photo-gallery{padding:0 13px;margin-left:8px;font-size:10px;letter-spacing:.03em}
  .feed-meta,.action-rail,.product-intro,.feed-hint,.desktop-feed-controls{display:none}
  #overlay-root{position:absolute;inset:0;z-index:20;pointer-events:none}
  #overlay-root>*{pointer-events:auto}
  .modal-layer,.purchase-shade,.viewer,.purchase-panel{position:absolute}
  .sheet{max-width:580px;max-height:min(82%,780px);border-radius:18px 18px 0 0}
  .purchase-panel{width:min(460px,42%)}
  .toast{left:auto;right:30px;bottom:25px;width:min(380px,36vw)}
  .app.overlay-open .desktop-catalog,.app.overlay-open .desktop-details,.app.overlay-open .desktop-photo-tools{pointer-events:none}
}


/* v0.4: feed navigation sits under the swipe hint, away from Photos and Buy. */
@media (max-width:1050px) {
  .desktop-feed-controls {
    top: calc(env(safe-area-inset-top) + 188px);
    left: 25px;
    right: auto;
    bottom: auto;
    flex-direction: row;
    gap: 9px;
  }
  .desktop-feed-controls button {
    width: 38px;
    height: 38px;
    background: #211e1b45;
    border: 1px solid #fff5;
    backdrop-filter: blur(10px);
  }
}
@media (max-width:380px) {
  .desktop-feed-controls {
    left: 19px;
    top: calc(env(safe-area-inset-top) + 184px);
  }
  .desktop-feed-controls button { width: 35px; height: 35px; }
}
@media (max-width:1050px) and (max-height:690px) {
  .desktop-feed-controls {
    top: calc(env(safe-area-inset-top) + 165px);
  }
}

/* Catalog v0.5: no fictional content in a connected business with an empty catalog. */
.brand-mark.has-logo{width:auto;min-width:37px;max-width:96px;padding:4px 7px;overflow:hidden;letter-spacing:0}.brand-mark .business-logo{display:block;width:auto;height:auto;max-width:82px;max-height:29px;object-fit:contain;object-position:center;transform:scale(var(--business-logo-scale,1));transform-origin:center}
.catalog-empty .action-rail,.catalog-empty .product-intro,.catalog-empty .feed-hint,
.catalog-empty .desktop-feed-controls,.catalog-empty .desktop-photo-tools,.catalog-empty .feed-meta{display:none!important}
.catalog-unavailable{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:clamp(28px,6vw,65px);background:linear-gradient(145deg,#414035,#201f1c);color:#f5e8d5}
.catalog-unavailable h1{font:400 clamp(34px,6vw,56px)/1.02 Georgia,serif;max-width:470px;margin:0 0 17px}
.catalog-unavailable p{max-width:450px;font-size:14px;line-height:1.7;color:#dacdb9}
.catalog-unavailable a{font-size:12px;color:#f5e8d5;text-decoration:underline;margin-top:20px}
@media (min-width:1051px){.catalog-empty .desktop-details,.catalog-empty .desktop-catalog{background:#f4f0e8}}

/* Keep longer client brand names inside narrow mobile headers. */
.brand-wordmark{max-width:min(55vw,280px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(min-width:1051px){.brand-wordmark{max-width:60vw}}

/* v0.6: a single published item has no feed navigation to show. */
.feed-hint[hidden], .desktop-feed-controls[hidden]{display:none!important}
/* v0.7: optional Message action (per catalog item); keep it out of the rail when disabled. */
#message-action[hidden]{display:none!important}
@media(max-width:1050px){
  .action-rail{gap:clamp(6px,1.3vh,14px)}
  .action-rail .rail-action{gap:4px}
}
/* Five actions fit above the bottom product controls, including on shorter phones. */
@media(max-width:1050px){
  .action-rail:has(#message-action:not([hidden])){top:26%;gap:clamp(5px,1vh,9px)}
  .action-rail:has(#message-action:not([hidden])) .rail-icon{width:39px;height:39px}
  .action-rail:has(#message-action:not([hidden])) .rail-action{font-size:9px;min-width:52px}
  .action-rail:has(#message-action:not([hidden])) .rail-icon svg{width:19px;height:19px}
}
@media(max-width:1050px) and (max-height:690px){
  .action-rail:has(#message-action:not([hidden])){top:21%;gap:4px}
  .action-rail:has(#message-action:not([hidden])) .rail-icon{width:34px;height:34px}
}

/* Owner-only navigation: hidden until Supabase confirms membership for this business. */
.owner-studio-link[hidden]{display:none!important}
.owner-studio-link{margin-left:auto;margin-right:10px;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;color:#fff;background:rgba(25,24,21,.58);border:1px solid rgba(255,255,255,.45);text-decoration:none;font-size:11px;font-weight:730;letter-spacing:.03em;backdrop-filter:blur(10px)}
@media(max-width:380px){.owner-studio-link{padding:0 8px;font-size:10px;margin-right:7px}.brand{gap:6px}.brand-wordmark{font-size:10px;letter-spacing:.1em}}

/* v0.11 optional sign-in for private test-purchase history */
.account-prompt{display:block;padding:14px;margin:14px 0 2px;background:#efe1ca;color:#382c20;border-radius:6px;font-weight:750;text-decoration:underline;text-underline-offset:3px;font-size:13px}

/* v0.15 separately configured external website button. */
.outside-website-link{display:block;margin:12px 0;padding:13px 17px;border:1px solid #b6a994;border-radius:8px;text-decoration:none;text-align:center;background:#ede3d5;color:#29241f;font-weight:750;font-size:13px;overflow-wrap:anywhere}
.outside-website-link:focus-visible{outline:3px solid #9d7851}

/* v0.17 image provenance in public gallery. */
.feed .concept-photo-badge,.viewer-image-wrap .concept-photo-badge{position:absolute;z-index:7;left:16px;top:16px;padding:7px 11px;color:#25211c;background:#fbf4e3e8;border:1px solid #decdb0;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.02em;pointer-events:none}.panel-hero .concept-photo-badge{align-self:flex-start;display:inline-block;margin:0 0 8px;padding:5px 8px;background:#f5e8d6;color:#57432a;border-radius:4px;font-size:11px}.viewer-image-wrap{position:relative}

/* v0.26.3 prominent client logo controls */
.brand-mark.has-logo{width:var(--business-logo-width,120px);height:50px;min-width:72px;max-width:min(200px,42vw);padding:0;border:0;background:transparent;overflow:hidden;letter-spacing:0}.brand-mark .business-logo{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform:scale(var(--business-logo-scale,1));transform-origin:center}.topbar{min-height:80px}.brand{min-width:0}.brand-wordmark{flex:0 1 auto}@media(max-width:520px){.brand-mark.has-logo{height:44px;max-width:min(168px,43vw)}.brand-wordmark{max-width:36vw}}

.quantity-row{display:grid;grid-template-columns:1fr minmax(96px,140px);align-items:end;gap:12px;margin-top:12px}.quantity-row .options-label{margin:0}.quantity-select{width:100%;border:1px solid #cfc6b9;background:#fffaf2;color:#2b2822;padding:12px}.stock-note{font-size:11px!important;color:#71685d!important;margin-top:12px!important}.option:disabled{opacity:.48;background:#eee7dc;color:#7c7468}.desktop-choice:disabled{text-decoration:line-through;opacity:.5}


/* v0.27.0 client-controlled typography + appearance */
:root{--theme-display-font:Georgia,'Times New Roman',serif;--theme-body-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--theme-headline-scale:1;--theme-body-scale:1;--theme-header-bg:#f4f0e8;--theme-header-text:#25241f;--theme-surface-bg:#f4f0e8;--theme-surface-text:#27251f;--theme-card-text:#fff;--theme-desktop-bg:#ede8de;--theme-action-panel-bg:rgba(24,24,21,.58)}
html,body,button,a,input,select,textarea{font-family:var(--theme-body-font)}
.product-intro h2,.sheet h2,.review-card blockquote,.rating-score,.desktop-catalog-heading h2,.desktop-catalog-copy strong,.desktop-product-name,.panel-product h2,.catalog-unavailable h1{font-family:var(--theme-display-font)!important}
.product-intro h2{font-size:clamp(31px,calc(6vh * var(--theme-headline-scale)),74px)}
.sheet h2{font-size:clamp(30px,calc(39px * var(--theme-headline-scale)),58px)}
.product-intro p,.product-price,.rail-action,.brand-wordmark,.feed-meta,.item-kicker{font-size:calc(1em * var(--theme-body-scale))}
.brand,.brand-wordmark,.icon-button,.feed-meta,.item-kicker,.product-intro,.product-intro p,.product-price,.action-rail,.rail-action,.desktop-feed-controls button{color:var(--theme-card-text)}
.rail-icon{border-color:color-mix(in srgb,var(--theme-card-text) 36%,transparent)}
.action-rail.rail-panel-on{padding:12px 8px;border-radius:28px;background:var(--theme-action-panel-bg);backdrop-filter:blur(14px);box-shadow:0 9px 34px rgba(0,0,0,.16)}
.sheet,.purchase-panel{background:var(--theme-surface-bg);color:var(--theme-surface-text)}
.sheet p,.fine-print,.purchase-panel .panel-description{color:color-mix(in srgb,var(--theme-surface-text) 72%,transparent)!important}
@media(min-width:1051px){
  html,body,.site-shell,.app{background:var(--theme-desktop-bg);color:var(--theme-surface-text)}
  html[data-desktop-bg-style="soft"] .site-shell{background:radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--brand-accent) 18%,transparent),transparent 33%),radial-gradient(circle at 88% 82%,color-mix(in srgb,var(--theme-surface-text) 9%,transparent),transparent 36%),var(--theme-desktop-bg)}
  html[data-desktop-bg-style="dark"] .site-shell{background:linear-gradient(140deg,color-mix(in srgb,var(--theme-desktop-bg) 70%,#000),var(--theme-desktop-bg))}
  .topbar{background:var(--theme-header-bg);color:var(--theme-header-text);border-bottom-color:color-mix(in srgb,var(--theme-header-text) 18%,transparent)}
  .brand,.brand-wordmark,.icon-button{color:var(--theme-header-text)}
  .brand-mark{border-color:color-mix(in srgb,var(--theme-header-text) 45%,transparent)}
  .icon-button{border-color:color-mix(in srgb,var(--theme-header-text) 28%,transparent)}
  .desktop-catalog,.desktop-details{background:var(--theme-surface-bg);color:var(--theme-surface-text)}
  .desktop-catalog{border-right-color:color-mix(in srgb,var(--theme-surface-text) 16%,transparent)}
  .desktop-catalog-heading h2,.desktop-catalog-copy strong,.desktop-product-name{font-family:var(--theme-display-font)!important}
  .desktop-product-name{font-size:clamp(29px,calc(3.25vw * var(--theme-headline-scale)),72px)}
  .desktop-catalog-heading h2{font-size:clamp(22px,calc(2.45vw * var(--theme-headline-scale)),48px)}
  .desktop-product-short,.desktop-product-about,.desktop-catalog-heading p,.desktop-catalog-copy,.desktop-detail-link,.desktop-choice,.desktop-purchase{font-family:var(--theme-body-font)}
  .desktop-product-short{font-size:calc(15px * var(--theme-body-scale))}.desktop-product-about{font-size:calc(13px * var(--theme-body-scale))}
}


/* v0.27.1: keep the right-side action rail visually consistent between cards.
   Cards may have different actions (for example Message), but the rail no longer
   jumps upward or changes icon size just because one card has an extra action. */
@media(max-width:1050px){
  .action-rail,
  .action-rail:has(#message-action:not([hidden])){
    top:30%;
    gap:8px;
  }
  .action-rail .rail-action,
  .action-rail:has(#message-action:not([hidden])) .rail-action{
    gap:4px;
    min-width:54px;
    font-size:9px;
  }
  .action-rail .rail-icon,
  .action-rail:has(#message-action:not([hidden])) .rail-icon{
    width:39px;
    height:39px;
  }
  .action-rail .rail-icon svg,
  .action-rail:has(#message-action:not([hidden])) .rail-icon svg{
    width:19px;
    height:19px;
  }
}
@media(max-width:1050px) and (max-height:690px){
  .action-rail,
  .action-rail:has(#message-action:not([hidden])){
    top:25%;
    gap:5px;
  }
  .action-rail .rail-icon,
  .action-rail:has(#message-action:not([hidden])) .rail-icon{
    width:35px;
    height:35px;
  }
}


/* Embedded Square checkout */
.embedded-checkout-sheet{max-height:min(92vh,920px);overflow:auto}.checkout-intro{margin-top:-4px;color:#6d655a}.embedded-order-summary{display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center;padding:16px 0 18px;margin:4px 0 2px;border-top:1px solid #d8d0c4;border-bottom:1px solid #d8d0c4}.embedded-order-summary>div{font-weight:700}.embedded-order-summary>strong{font-size:20px}.embedded-order-summary>span{grid-column:1/-1;font-size:12px;color:#756c61}.embedded-payment-form{display:grid;gap:14px;padding-top:4px}.checkout-section-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:10px 0 0;font-family:var(--body-font,Arial,sans-serif)}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-field{display:grid;gap:6px;font-size:11px;letter-spacing:.04em;color:#5e574e}.checkout-field:first-child,.shipping-grid .checkout-field:first-child,.shipping-grid .checkout-field:nth-child(2){grid-column:1/-1}.checkout-field input{width:100%;border:1px solid #cfc6b9;border-radius:8px;background:#fffaf2;color:#24211d;padding:12px 13px;font:inherit;font-size:14px;letter-spacing:0;outline:none}.checkout-field input:focus{border-color:#8f8170;box-shadow:0 0 0 2px rgba(143,129,112,.15)}.checkout-field input[readonly]{background:#f0ebe2;color:#6f675e}.square-card-shell{min-height:96px;padding:13px;border:1px solid #cfc6b9;border-radius:10px;background:#fff}.embedded-payment-status{min-height:18px;font-size:12px;color:#746c62}.embedded-payment-status.ready{color:#38583e}.embedded-payment-status.error{color:#8f2f2f}.embedded-payment-status.busy{color:#6e5f42}.secure-payment-note{font-size:11px!important;color:#756c61!important;line-height:1.45!important;margin:0!important}.embedded-payment-actions{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding-top:3px}.secondary-action{appearance:none;border:1px solid #bdb3a5;background:transparent;color:#29251f;padding:13px 16px;border-radius:8px;font:inherit;font-weight:650;cursor:pointer}.secondary-action.full{width:100%;margin-top:8px}.payment-success-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#24211d;color:#fff;font-size:24px;margin:2px 0 14px}.embedded-success-sheet .demo-banner{margin:14px 0}
@media(max-width:620px){.embedded-checkout-sheet{max-height:94dvh}.checkout-grid{grid-template-columns:1fr}.checkout-field,.checkout-field:first-child,.shipping-grid .checkout-field:first-child,.shipping-grid .checkout-field:nth-child(2){grid-column:1}.embedded-payment-actions{grid-template-columns:1fr}.embedded-payment-actions .secondary-action{order:2}.square-card-shell{min-height:112px}}
