/* Scented Flowers: the short, mobile-first storefront. */
.concierge-site { padding-bottom:0; }
.concierge-site h1,.concierge-site h2,.concierge-site h3 { font-family:var(--font-display); font-weight:400; }
.concierge-site h2 { font-size:var(--text-2xl); line-height:1.04; }
.concierge-site em { font-weight:400; }
.concierge-site .eyebrow { font-size:var(--text-xs); letter-spacing:.16em; margin-bottom:var(--space-4); }
.bloom-mark { display:block; width:44px; height:44px; background:var(--color-text); mask:url('../images/bloom-favicon.svg') center/contain no-repeat; -webkit-mask:url('../images/bloom-favicon.svg') center/contain no-repeat; }
.concierge-header { height:84px; padding-inline:var(--space-8); max-width:1440px; margin:auto; display:flex; align-items:center; gap:var(--space-8); border-bottom:1px solid var(--color-divider); }
.concierge-header nav { display:flex; gap:var(--space-8); margin-left:auto; }
.concierge-header a { font-size:var(--text-sm); }
.header-actions { display:flex; gap:var(--space-5); align-items:center; }
.header-actions>a { border-bottom:1px solid var(--color-text); }
.quiet-hero { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; max-width:1200px; margin:auto; padding:var(--space-10) var(--space-8); gap:var(--space-12); }
.quiet-hero h1 { font-size:clamp(2.5rem,4.9vw,4.7rem); line-height:.98; margin-bottom:var(--space-6); }
.quiet-hero__copy>p:not(.eyebrow) { font-size:var(--text-base); margin-bottom:var(--space-6); color:var(--color-text-muted); line-height:1.65; }
.quiet-hero__image { max-width:330px; justify-self:end; width:100%; }
.quiet-hero__image img { display:block; width:100%; height:auto; }
.flower-edit,.ease-section,.repeat-section,.small-details,.quiet-footer { max-width:1200px; margin:auto; padding:var(--space-12) var(--space-8); }
.edit-heading { display:flex; justify-content:space-between; align-items:end; gap:var(--space-6); margin-bottom:var(--space-6); }
.edit-heading>p { font-size:var(--text-sm); color:var(--color-text-muted); }
.flower-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-6); }
.flower-card { min-width:0; scroll-margin-top:var(--space-6); }
.flower-photo { display:block; position:relative; width:100%; }
.flower-photo img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; }
.flower-status { position:absolute; left:var(--space-2); bottom:var(--space-2); background:var(--color-bg); color:var(--color-text); font-size:var(--text-xs); padding:var(--space-1) var(--space-2); }
.flower-card h3 { font-size:var(--text-xl); line-height:1.15; margin-top:var(--space-4); }
.flower-spec,.flower-character { font-size:var(--text-sm); color:var(--color-text-muted); margin-top:var(--space-1); }
.flower-price { font-size:14px; margin-top:var(--space-3); }
.flower-price span { font-size:inherit; color:var(--color-text-muted); }
.flower-caution { display:flex; align-items:center; min-height:44px; font-size:14px; font-weight:500; text-decoration:underline; text-underline-offset:3px; }
.flower-card { display:flex; flex-direction:column; }
.flower-card .flower-choose { margin-top:auto; }
.flower-card .flower-price { margin-bottom:var(--space-2); }
.care-link { display:block; padding-block:var(--space-4); margin-bottom:var(--space-5); border-block:1px solid var(--color-divider); font-size:16px; }
.care-link span { display:block; font-size:14px; color:var(--color-text-muted); }
.sheet-care { padding:var(--space-4); margin-bottom:var(--space-5); border-left:3px solid var(--color-text); background:var(--color-surface); font-size:14px; line-height:1.55; }
.sheet-care strong { font-weight:500; }
.sheet-care p { margin-top:var(--space-2); }
.sheet-care a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
.care-page { max-width:760px; margin:auto; padding:var(--space-10) var(--space-6); }
.care-page h1 { font-size:clamp(2.7rem,6vw,4rem); margin-bottom:var(--space-4); }
.care-page>p { font-size:17px; color:var(--color-text-muted); }
.care-page section { padding:var(--space-8) 0; border-bottom:1px solid var(--color-divider); }
.care-page h2 { font-size:2rem; margin-bottom:var(--space-5); }
.care-page p,.care-page li { font-size:16px; line-height:1.7; }
.care-page p+p { margin-top:var(--space-4); }
.care-page a:not(.btn) { text-decoration:underline; text-underline-offset:3px; }
.care-page ul { padding-left:var(--space-5); display:grid; gap:var(--space-4); }
.care-page .care-urgent { border-left:3px solid var(--color-text); padding:var(--space-5); background:var(--color-surface); margin-top:var(--space-6); }
.sheet-total { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--space-4); font-size:var(--text-base); }
.sheet-total strong { font-weight:500; }
.flower-choose { display:flex; justify-content:space-between; align-items:center; min-height:44px; border-bottom:1px solid var(--color-text); width:100%; margin-top:var(--space-3); font-size:var(--text-sm); }
.flower-choose:hover { background:var(--color-surface); }
.edit-foot { display:flex; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-6); align-items:center; font-size:var(--text-sm); color:var(--color-text-muted); }
.quiet-link { display:inline-flex; align-items:center; min-height:44px; color:var(--color-text); text-decoration:underline; text-underline-offset:5px; font-size:var(--text-sm); }
.ease-section { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); border-block:1px solid var(--color-divider); }
.ease-steps { list-style:none; display:grid; gap:var(--space-5); }
.ease-steps li { display:flex; gap:var(--space-5); }
.ease-steps li>span { font-size:var(--text-xs); color:var(--color-text-muted); padding-top:var(--space-2); }
.ease-steps h3 { font-size:var(--text-xl); }
.ease-steps p { font-size:var(--text-sm); color:var(--color-text-muted); max-width:43ch; }
.hosting-story { max-width:1360px; margin:var(--space-12) auto; padding:var(--space-8); display:grid; grid-template-columns:1.45fr 1fr; gap:var(--space-12); align-items:center; background:var(--color-surface); }
.hosting-story>img { width:100%; height:auto; }
.hosting-story p:not(.eyebrow) { color:var(--color-text-muted); margin-block:var(--space-5) var(--space-3); }
.repeat-section { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); align-items:center; }
.repeat-section p:not(.eyebrow) { margin-top:var(--space-5); color:var(--color-text-muted); font-size:var(--text-sm); }
.repeat-actions { display:grid; gap:var(--space-3); max-width:340px; width:100%; justify-self:end; }
.small-details { padding-top:var(--space-6); }
.natural-note { max-width:90ch; font-size:var(--text-sm); color:var(--color-text-muted); margin-bottom:var(--space-6); }
.details-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8); }
.hosting-story .repeat-actions { justify-self:start; margin-top:var(--space-5); }
.details-row details { border-top:1px solid var(--color-divider); padding-top:var(--space-3); }
.details-row summary { cursor:pointer; min-height:44px; font-size:var(--text-sm); }
.details-row p { font-size:var(--text-sm); color:var(--color-text-muted); margin-top:var(--space-2); }
.quiet-footer { border-top:1px solid var(--color-divider); font-size:var(--text-xs); }
.quiet-footer__top,.quiet-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:var(--space-6); }
.quiet-footer__bottom { margin-top:var(--space-6); align-items:start; color:var(--color-text-muted); }
.quiet-footer__bottom>div { display:flex; gap:var(--space-5); flex-wrap:wrap; }
.quiet-footer details { max-width:340px; }
.quiet-footer summary { cursor:pointer; }
.quiet-footer details p { margin-top:var(--space-3); }
.mobile-order-bar { display:none; }
.flower-sheet { background:var(--color-bg); color:var(--color-text); border:1px solid var(--color-border); width:min(480px,calc(100% - 32px)); max-height:90dvh; margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; }
.flower-sheet::backdrop { background:rgba(20,18,15,.55); }
.flower-sheet[open] { display:flex; flex-direction:column; overflow:hidden; }
.flower-sheet .sheet-header,.flower-sheet .sheet-footer { flex-shrink:0; }
.flower-sheet .sheet-body { min-height:0; overflow-y:auto; }
.sheet-header { display:flex; align-items:start; justify-content:space-between; gap:var(--space-4); padding:var(--space-6); border-bottom:1px solid var(--color-divider); }
.sheet-header .eyebrow { margin-bottom:var(--space-2); }
.sheet-header h2 { font-size:var(--text-2xl); }
.sheet-header #sheet-spec { font-size:var(--text-sm); color:var(--color-text-muted); margin-top:var(--space-2); }
.sheet-close { width:44px; height:44px; font-size:var(--text-xl); flex-shrink:0; }
.sheet-body { padding:var(--space-6); }
.sheet-sets { display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--space-5); }
.set-counter { display:flex; align-items:center; border:1px solid var(--color-border); }
.set-counter button { width:44px; height:44px; font-size:var(--text-lg); }
.set-counter button:disabled { opacity:.3; cursor:not-allowed; }
.set-counter output { min-width:36px; text-align:center; }
.colour-options { border-block:1px solid var(--color-divider); padding-block:var(--space-2); }
.colour-options summary { display:flex; justify-content:space-between; gap:var(--space-3); min-height:44px; align-items:center; cursor:pointer; font-size:var(--text-sm); }
.colour-options summary::after { content:'+'; }
.colour-options[open] summary::after { content:'−'; }
#colour-summary { margin-left:auto; color:var(--color-text-muted); }
#colour-choices { border:0; padding:var(--space-3) 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-2); min-width:0; }
.colour-tile { position:relative; border:2px solid var(--color-border); cursor:pointer; min-width:0; }
.colour-tile:has(input:checked) { border-color:var(--color-text); }
.colour-tile input { position:absolute; top:var(--space-2); left:var(--space-2); accent-color:var(--color-text); width:17px; height:17px; }
.colour-tile img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.colour-tile span { display:block; padding:var(--space-2); font-size:var(--text-sm); text-align:center; }
.colour-tile--any { grid-column:1/-1; display:flex; align-items:center; min-height:44px; padding-inline:var(--space-3); gap:var(--space-3); }
.colour-tile--any input { position:static; }
.sheet-options { border:0; padding:0; margin-block:var(--space-5); display:flex; gap:var(--space-2); }
.sheet-options legend { font-size:var(--text-sm); margin-bottom:var(--space-3); }
.sheet-options label { flex:1; position:relative; }
.sheet-options input { position:absolute; width:1px; height:1px; opacity:0; }
.sheet-options span { display:flex; align-items:center; justify-content:center; border:1px solid var(--color-border); min-height:44px; padding:var(--space-2); font-size:var(--text-sm); }
.sheet-options input:checked+span { background:var(--color-text); color:var(--color-bg); border-color:var(--color-text); }
.sheet-options input:focus-visible+span,.colour-tile:focus-within { outline:2px solid var(--color-text); outline-offset:3px; }
.gift-option { display:flex; gap:var(--space-3); align-items:center; min-height:44px; font-size:var(--text-sm); }
.gift-option input { width:18px; height:18px; accent-color:var(--color-text); }
.sheet-small,#sheet-status { font-size:var(--text-xs); color:var(--color-text-muted); margin-top:var(--space-3); }
#sheet-status { margin:0 0 var(--space-4); padding:var(--space-3); background:var(--color-surface); font-size:var(--text-sm); }
.sheet-footer { padding:var(--space-4) var(--space-6) var(--space-6); border-top:1px solid var(--color-divider); background:var(--color-bg); }
.sheet-footer .btn { width:100%; }
.sheet-footer p { font-size:var(--text-xs); text-align:center; color:var(--color-text-muted); margin-top:var(--space-3); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
body:has(.flower-sheet[open]) { overflow:hidden; }
[id] { scroll-margin-top:var(--space-6); }
@media(max-width:760px) {
  .concierge-site { padding-bottom:calc(66px + env(safe-area-inset-bottom)); }
  .concierge-header { height:70px; padding-inline:var(--space-5); gap:var(--space-4); }
  .concierge-header nav { display:none; }
  .header-actions { margin-left:auto; gap:var(--space-4); }
  .quiet-hero { padding:var(--space-8) var(--space-5); gap:var(--space-4); grid-template-columns:1.35fr 1fr; }
  .quiet-hero .eyebrow { font-size:var(--text-xs); letter-spacing:.08em; margin-bottom:var(--space-3); }
  .quiet-hero h1 { font-size:clamp(2rem,6.9vw,3rem); line-height:1; margin-bottom:var(--space-4); }
  .quiet-hero__copy>p:not(.eyebrow) { font-size:var(--text-sm); line-height:1.45; margin-bottom:var(--space-4); }
  .quiet-hero__copy .btn { padding:var(--space-3); font-size:var(--text-xs); letter-spacing:.06em; min-height:44px; }
  .flower-edit,.ease-section,.repeat-section,.small-details,.quiet-footer { padding:var(--space-8) var(--space-5); }
  .edit-heading { display:block; margin-bottom:var(--space-5); }
  .edit-heading>p { margin-top:var(--space-3); }
  .flower-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8) var(--space-4); }
  .flower-card h3 { font-size:clamp(1.45rem,5vw,1.9rem); margin-top:var(--space-3); }
  .flower-spec,.flower-character { font-size:14px; }
  .flower-choose { margin-top:var(--space-2); }
  .edit-foot { display:block; }
  .edit-foot .quiet-link { margin-top:var(--space-2); }
  .ease-section,.repeat-section { grid-template-columns:1fr; gap:var(--space-6); }
  .ease-section h2 br { display:none; }
  .ease-section h2 em::before { content:' '; }
  .hosting-story { grid-template-columns:1fr; margin-block:var(--space-6); padding:var(--space-5); gap:var(--space-6); }
  .hosting-story>div { padding-bottom:var(--space-3); }
  .repeat-actions { max-width:none; }
  .details-row { grid-template-columns:1fr; gap:var(--space-3); }
  .quiet-footer__top,.quiet-footer__bottom { flex-wrap:wrap; gap:var(--space-4); }
  .quiet-footer__top a { min-height:44px; display:flex; align-items:center; }
  .quiet-footer__bottom>div { gap:var(--space-4); }
  .mobile-order-bar { display:grid; grid-template-columns:1fr 1fr; position:fixed; z-index:10; bottom:0; left:0; right:0; padding:var(--space-2) var(--space-5) calc(var(--space-2) + env(safe-area-inset-bottom)); gap:var(--space-3); background:var(--color-bg); border-top:1px solid var(--color-divider); }
  .mobile-order-bar a { display:flex; justify-content:center; align-items:center; min-height:44px; font-size:var(--text-sm); border:1px solid var(--color-text); border-radius:var(--radius-full); }
  .mobile-order-bar a:first-child { background:var(--color-text); color:var(--color-bg); }
  .flower-sheet { width:100%; max-width:none; max-height:94dvh; margin:auto 0 0; border-radius:16px 16px 0 0; }
  .sheet-header,.sheet-body { padding:var(--space-5); }
  .sheet-footer { padding:var(--space-4) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom)); }
}
