/* UI/UX Pro Max: editorial florist theme. Business and order behavior stay in app.js. */
:root {
  --green:#285c47;
  --green-dark:#1f4838;
  --ink:#26372f;
  --muted:#5d6b63;
  --line:#e2e8e3;
  --soft:#f4f7f4;
  --rose:#9b4e69;
  --rose-soft:#f8edf1;
  --shadow:0 8px 24px rgb(25 54 38 / 7%);
  --space-unit:8px;
}
.skip-link {position:fixed;left:16px;top:12px;z-index:1000;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-180%);border-radius:4px;}
.skip-link:focus {transform:none;}
.storefront {font-size:14px;letter-spacing:0;}
.storefront .utility-bar {height:30px;font-size:11px;}
.storefront .top {height:32px;min-height:32px;background:#edf4ef;color:var(--green-dark);font-size:11px;}
.storefront .header {max-width:none;min-height:102px;padding-top:14px;padding-bottom:14px;}
.storefront .brand-logo {width:76px;height:76px;}
.storefront .search {background:#f7f9f7;border-color:var(--line);border-radius:5px;box-shadow:none;}
.storefront .search input {font-size:13px;}
.storefront .search button {border-radius:4px;box-shadow:none;}
.storefront .delivery {background:var(--soft);border:1px solid var(--line);border-radius:5px;}
.storefront .delivery {grid-template-columns:24px minmax(0,1fr);column-gap:8px;padding:8px 12px;min-height:54px;}
.storefront .delivery span {width:24px;}
.storefront .delivery b {font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.storefront .delivery small {color:var(--muted);}
.storefront .category-nav {height:52px;gap:0;}
.storefront .category-nav a {height:52px;font-size:12px;padding-left:16px;padding-right:16px;}
.storefront .floral-stage {height:min(550px,calc(100svh - 235px));min-height:450px;}
.storefront .floral-inner {padding:36px 48px;}
.storefront .floral-copy {width:45%;max-width:470px;}
.storefront .floral-eyebrow {font-size:11px;margin-bottom:18px;color:var(--green-dark);}
.storefront .floral-copy h1 {font-size:88px;line-height:1.02;color:#244a38;}
.storefront .floral-tagline {font-size:21px;color:#354e3e;margin:16px 0 10px;}
.floral-description {font-size:14px;line-height:1.7;color:#4c5e50;margin:0 0 24px;}
.floral-links {display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.storefront .floral-cta {min-height:48px;padding:13px 20px;gap:24px;border-radius:4px;font-family:Inter,'Segoe UI',sans-serif;font-size:13px;background:var(--green);border-color:var(--green);}
.storefront .floral-secondary {margin:0;font-family:Inter,'Segoe UI',sans-serif;font-size:12px;color:#304e3d;border-color:#738a79;min-height:44px;display:inline-flex;align-items:center;}
.storefront .floral-cta:hover {background:var(--green-dark);}
.storefront .round-categories {padding-top:32px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.collection-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;}
.collection-heading h2 {font-family:Lora,Georgia,serif;font-size:22px;font-weight:500;}
.collection-heading a {display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px;color:var(--green-dark);}
.collection-heading .ui-icon {width:16px;height:16px;}
.storefront .round-track {display:grid;grid-template-columns:none;grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:112px;gap:20px;justify-content:start;padding:0 0 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c5d6ca transparent;}
.storefront .round-track a {width:112px;scroll-snap-align:start;font-size:12px;gap:8px;}
.storefront .round-track img,.storefront .category-art {width:84px;height:84px;margin-bottom:0;border:1px solid #e2e9e3;padding:4px;background:#fff;transition:border-color 180ms;}
.storefront .round-track a:hover img,.storefront .round-track a:focus-visible img {border-color:var(--green);}
.storefront .trust {padding-top:24px;padding-bottom:24px;background:#fbfcfb;border-bottom:1px solid var(--line);gap:20px;}
.storefront .trust>div {padding:0 20px;border-color:var(--line);font-size:12px;}
.storefront .trust b {font-size:12px;font-weight:500;}
.storefront .products {padding-top:48px;padding-bottom:48px;border:0;}
.storefront .section-head {margin-bottom:18px;}
.storefront .section-head h2 {font-family:Lora,Georgia,serif;font-size:32px;line-height:1.3;}
.storefront .section-head>p {color:var(--rose);font-size:11px;margin-bottom:10px;}
.storefront .catalog-note {font-size:12px;color:var(--muted);line-height:1.7;max-width:850px;margin-bottom:24px;}
.storefront .filters {gap:12px;margin-bottom:28px;padding-bottom:24px;}
.storefront .filters>input,.storefront .filters>select {height:46px;border-radius:4px;background:#fff;font-size:12px;max-width:none;}
.storefront .filters {display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1fr;}
.storefront .grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;align-items:stretch;}
.storefront .product-card {min-height:0;border-radius:6px;border-color:#e7ece8;padding:0 0 18px;transition:border-color 180ms,box-shadow 180ms;}
.storefront .product-card:hover {border-color:#b6c9bc;box-shadow:var(--shadow);}
.storefront .photo {aspect-ratio:4 / 4.3;background:#f5f7f4;}
.storefront .photo img {object-fit:contain;transition:none;}
.storefront .product-card:hover .photo img {transform:none;}
.storefront .favorite {width:44px;height:44px;right:10px;top:10px;border-color:#e2e8e3;color:#63776a;}
.storefront .favorite[aria-pressed=true] {color:var(--rose);background:var(--rose-soft);border-color:#e1b9c7;}
.storefront .favorite .ui-icon {width:18px;height:18px;}
.storefront .badge {align-self:flex-start;margin:16px 16px 0;font-size:10px;color:#51685b;background:#f0f5f1;padding:4px 7px;border-radius:3px;line-height:1.4;}
.product-category {font-size:10px;font-weight:500;color:var(--rose);margin:12px 16px 0;line-height:1.5;}
.storefront .product-card h3 {text-align:left;margin:5px 16px 0;min-height:58px;font-size:14px;line-height:1.4;font-weight:500;color:var(--ink);overflow-wrap:anywhere;}
.storefront .price {justify-content:flex-start;margin:14px 16px 18px;font-size:17px;color:var(--ink);font-weight:600;flex-wrap:wrap;font-variant-numeric:tabular-nums;}
.storefront .old {font-size:12px;color:#6e776f;}
.storefront .card-actions {grid-template-columns:1.35fr 1fr;gap:8px;margin:auto 16px 0;padding-top:0;}
.storefront .card-actions button {display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 8px;font-size:11px;line-height:1.4;border-radius:4px;border-color:#d9e4dc;transition:background-color 180ms,border-color 180ms;}
.storefront .card-actions button .ui-icon {width:14px;height:14px;}
.storefront .card-actions button:first-child {background:var(--green);border-color:var(--green);}
.storefront .card-actions button:first-child:not(:disabled):hover {background:var(--green-dark);border-color:var(--green-dark);}
.storefront .card-actions button:last-child:hover {background:var(--soft);border-color:var(--green);}
.storefront .card-actions button:disabled {background:#e7ece8;border-color:#e7ece8;color:#64736a;}
.storefront .price-pending {font-size:14px;}
.storefront .catalog-pagination {margin-top:32px;}
.storefront #loadMoreProducts {min-height:48px;border-radius:4px;font-size:13px;}
.storefront #occasions {background:#faf6f8;border-top:1px solid #eee4e9;border-bottom:1px solid #eee4e9;}
.storefront .occasion-grid {gap:12px;}
.storefront .occasion-grid button {min-height:64px;background:white;border-color:#e8dce1;color:#714456;border-radius:4px;font-family:Lora,Georgia,serif;font-size:17px;transition:border-color 180ms,background 180ms;}
.storefront .occasion-grid button:hover {border-color:var(--rose);background:#fffafb;}
.storefront .whatsapp-panel {padding-top:40px;padding-bottom:40px;background:#f0f6f1;}
.storefront .whatsapp-panel h2 {font-family:Lora,Georgia,serif;font-size:28px;}
.storefront footer {background:#fff;border-top:1px solid var(--line);padding-top:36px;padding-bottom:40px;}
.storefront footer b {font-family:Lora,Georgia,serif;font-size:22px;font-weight:500;}
.storefront footer p,.storefront footer a {font-size:12px;line-height:1.8;}
.storefront .assist-card {border-radius:8px;}
.storefront .assist-icon {border-radius:6px;}
.storefront .assist-stack button {width:44px;height:44px;top:0;right:0;}
.storefront .assist-card {padding-right:44px;}
.storefront .assist-stack {width:min(300px,calc(100vw - 48px));gap:10px;}
.storefront .assist-stack b {font-size:11px;}
.storefront .assist-stack span:not(.assist-icon) {font-size:12px;}
.storefront .discount-tab {width:44px;border-radius:0 6px 6px 0;font-size:11px;}
.storefront .side-rail a,.storefront .side-rail button {width:44px;height:44px;box-shadow:0 2px 10px rgb(25 54 38 / 7%);}
.storefront .cart-stepper {grid-template-columns:44px 32px 44px;height:44px;}
.storefront .cart-stepper button {width:44px;height:42px;}
.storefront .cart-remove {width:44px;height:44px;}
.storefront .detail-stepper {grid-template-columns:44px 38px 44px;height:44px;}
.storefront .detail-stepper button {min-width:44px;min-height:42px;}
.storefront .detail-close,.storefront #cartClose,.storefront #chatClose {min-width:44px;min-height:44px;}
.storefront .cart-checkout input,.storefront .cart-checkout select,.storefront .cart-checkout textarea {font-size:16px;}
.storefront .cart-drawer-footer {background:#f7faf7;}
.storefront .detail-info h2 {font-family:Lora,Georgia,serif;font-size:26px;}
.storefront .primary,.payment-body .primary,.contact-body .primary {border-radius:4px;min-height:46px;transition:background-color 180ms;box-shadow:none;}
.payment-body .payment-heading h1,.contact-body .contact-heading h1 {font-family:Lora,Georgia,serif;font-size:36px;font-weight:500;}
.payment-body .bank-account,.contact-body .contact-message {border-radius:6px;}
.storefront input:focus-visible,.storefront select:focus-visible,.storefront textarea:focus-visible {outline:2px solid var(--green);outline-offset:2px;}
@media(min-width:841px) and (max-width:1100px){.storefront .grid{grid-template-columns:repeat(3,minmax(0,1fr));}.storefront .category-nav a{padding-left:11px;padding-right:11px;font-size:11px;}}
@media(max-width:840px){
  .storefront .header {min-height:0;padding:12px 16px;}
  .storefront .brand-logo {width:52px;height:52px;}
  .storefront .category-nav {height:auto;}
  .storefront .category-nav.open a {height:44px;min-height:44px;}
  .storefront .grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;}
  .storefront .floral-copy h1 {font-size:68px;}
  .storefront .floral-copy {width:46%;}
  .storefront .floral-inner {padding:30px 36px;}
  .storefront .assist-stack {left:12px;bottom:76px;width:calc(100vw - 24px);display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .storefront .assist-stack .assist-card {width:100%;min-height:68px;padding:13px 38px 13px 44px;}
  .storefront .assist-stack .assist-icon {width:28px;height:28px;left:9px;}
  .storefront .assist-icon::before {inset:5px;}
  .storefront .assist-card::after {left:29px;top:15px;width:7px;height:7px;}
  .storefront .assist-stack span:not(.assist-icon) {display:none;}
  .storefront .assist-stack b {font-size:11px;line-height:1.4;}
  .storefront .assist-stack button {right:-3px;}
  .storefront footer {padding-bottom:160px;}
}
@media(max-width:640px){
  .storefront .floral-stage {height:min(560px,calc(100svh - 225px));min-height:470px;}
  .storefront .floral-inner {padding:28px 18px;}
  .storefront .floral-copy {width:100%;max-width:350px;}
  .storefront .floral-copy h1 {font-size:46px;line-height:1.15;}
  .storefront .floral-eyebrow {font-size:10px;margin-bottom:12px;}
  .storefront .floral-tagline {font-size:16px;margin:10px 0 8px;}
  .storefront .floral-description {display:none;}
  .floral-links {justify-content:center;gap:14px;}
  .storefront .floral-cta {min-height:46px;font-size:12px;padding:12px 16px;gap:16px;}
  .storefront .floral-secondary {font-size:11px;margin:0;min-height:44px;}
  .storefront .round-categories {padding:24px 16px 12px;}
  .collection-heading {margin-bottom:14px;gap:8px;}
  .collection-heading h2 {font-size:20px;}
  .collection-heading a {font-size:11px;gap:7px;}
  .storefront .round-track {grid-auto-columns:86px;gap:12px;}
  .storefront .round-track a {width:86px;font-size:11px;}
  .storefront .round-track img,.storefront .category-art {width:70px;height:70px;}
  .storefront .trust {padding:20px 16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));}
  .storefront .trust>div {padding:0 10px;}
  .storefront .trust p {font-size:11px;}
  .storefront .products,.storefront #occasions {padding:32px 16px;}
  .storefront .section-head h2 {font-size:27px;}
  .storefront .catalog-note {font-size:11px;margin-bottom:20px;}
  .storefront .filters {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px;padding-bottom:20px;}
  .storefront .filters>input,.storefront .filters>select {font-size:12px;padding:10px;min-width:0;}
  .storefront .grid {gap:18px 12px;}
  .storefront .product-card {padding-bottom:12px;border-radius:5px;}
  .storefront .favorite {top:5px;right:5px;width:44px;height:44px;}
  .storefront .badge {margin:12px 10px 0;font-size:10px;padding:3px 5px;}
  .product-category {margin:10px 10px 0;font-size:10px;}
  .storefront .product-card h3 {margin:5px 10px 0;font-size:13px;min-height:76px;}
  .storefront .price {font-size:15px;margin:12px 10px 14px;gap:4px;}
  .storefront .old {font-size:10px;}
  .storefront .card-actions {grid-template-columns:1fr;margin:auto 10px 0;gap:8px;}
  .storefront .card-actions button {font-size:11px;min-height:44px;}
  .storefront .card-actions button:last-child {min-height:44px;}
  .storefront .price-pending {font-size:12px;}
  .storefront .occasion-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .storefront .occasion-grid button {font-size:15px;min-height:60px;}
  .storefront .whatsapp-panel {padding:32px 16px;}
  .storefront .whatsapp-panel h2 {font-size:24px;}
  .storefront .floral-hero .discount-tab {display:none;}
  .storefront .filters input {font-size:16px;}
}
@media(prefers-reduced-motion:no-preference){
  .storefront .floral-copy {animation:floral-arrive 480ms ease-out both;}
  .storefront .favorite .ui-icon {transition:color 180ms;}
  dialog[open] {animation:floral-dialog 180ms ease-out;}
  @keyframes floral-arrive {from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  @keyframes floral-dialog {from{opacity:0;}to{opacity:1;}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
