*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#241322;background:#fffafd;font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.topbar{height:42px;background:linear-gradient(90deg,#b8004b,#e90062);color:#fff;display:flex;justify-content:center;align-items:center;gap:15px;font-size:13px;font-weight:700}.topbar i{height:18px;border-left:1px solid #ffffff70}.topbar a{color:#fff04e;font-weight:900}.header{position:sticky;top:0;z-index:30;background:#fffaffeb;backdrop-filter:blur(14px);border-bottom:1px solid #f4dce7}.nav{max-width:1240px;margin:auto;padding:13px 25px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-flower{font-size:42px;color:#e50061}.brand b{font:800 26px Outfit,sans-serif;color:#df0058;letter-spacing:-1px}.brand b span{color:#29212b}.brand small{display:block;font-size:9px;letter-spacing:1.7px;font-weight:800;color:#6d5968;margin-top:2px}.nav nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:800}.nav nav a{padding:13px 0}.nav nav a:hover{color:#df0058}.cart-trigger{border:0;background:none;font-size:23px;position:relative;color:#211421}.cart-trigger span{position:absolute;top:-9px;right:-12px;background:#e6005d;color:#fff;border-radius:50%;font-size:11px;font-weight:800;width:23px;height:23px;display:grid;place-items:center}.hamburger{display:none;border:0;background:none;font-size:26px;color:#3b1830}.hero{min-height:455px;position:relative;overflow:hidden;background:#fff0f5}.hero-photo{position:absolute;inset:0 0 0 39%;background:url("../images/hero-bouquet.jpg") center 44%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#fff0f5 0%,#fff0f5 31%,rgba(255,240,245,.9) 43%,rgba(255,240,245,.05) 70%),linear-gradient(0deg,rgba(255,238,245,.15),transparent)}.hero-copy{position:relative;z-index:2;max-width:1240px;margin:auto;padding:42px 35px 55px;max-width:1240px}.hero-copy>*{max-width:500px}.eyebrow{font-weight:900;letter-spacing:3px;color:#e0005b;font-size:14px}.hero h1{font:700 clamp(45px,5.6vw,72px)/.99 "Playfair Display",serif;color:#30232c;letter-spacing:-2px;margin:12px 0 0}.hero h1 em{color:#e0005b;font-weight:700}.heart-line{font:italic 30px "Playfair Display",serif;color:#e0005b;margin:3px 0 12px 130px}.hero-copy p{font-size:18px;line-height:1.5;color:#493c47;margin:0 0 20px;max-width:400px}.primary-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:40px;background:linear-gradient(100deg,#ec005d,#bf004b);color:white;font-weight:900;font-size:18px;box-shadow:0 8px 20px #c5004a38}.primary-btn b{font-size:26px;margin-left:12px}.hero-dots{position:absolute;z-index:3;bottom:18px;left:48%;display:flex;gap:8px}.hero-dots i{width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #a54b70}.hero-dots i.active{background:#e6005d}.benefits{display:grid;grid-template-columns:repeat(4,1fr);background:#ffedf4;padding:22px max(20px,calc((100% - 1200px)/2));gap:0}.benefits>div{display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid #f2bfd2;padding:0 15px}.benefits>div:last-child{border:0}.benefits>div>span{font-size:32px;color:#e0005b}.benefits p{display:flex;flex-direction:column;gap:3px;margin:0}.benefits b{font:800 15px Outfit,sans-serif}.benefits small{font-size:12px;color:#6b5965}.section{padding:38px 25px}.section-title{display:flex;align-items:center;justify-content:center;gap:20px;text-align:center}.section-title span{width:40px;height:2px;background:#e6005d}.section-title h2{font:800 clamp(27px,3vw,36px) Outfit,sans-serif;margin:0;color:#211322}.category-grid{max-width:1200px;margin:23px auto 0;display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.category-grid a{background:#ffedf4;border-radius:20px;overflow:hidden;text-align:center;padding-bottom:10px;transition:.2s}.category-grid a:hover{transform:translateY(-4px);box-shadow:0 9px 25px #b74a781c}.category-grid img{width:100%;aspect-ratio:1/0.9;object-fit:cover;display:block}.category-grid b{font:800 14px Outfit,sans-serif;display:block;padding:7px 3px 0}.products{padding-top:10px}.section-sub{text-align:center;color:#786a75;margin:8px 0 23px;font-size:14px}.product-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid #f4e5ec;border-radius:18px;overflow:hidden;box-shadow:0 5px 18px #5a17300c;transition:.2s}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #8b2a4c1c}.product-image{height:205px;position:relative;background:#fcecf2}.product-image img{width:100%;height:100%;object-fit:cover}.product-image label{position:absolute;top:10px;left:10px;background:#f00061;color:#fff;padding:6px 11px;border-radius:20px;font-size:12px;font-weight:800}.product-info{padding:13px 14px 15px}.product-info h3{font:800 18px Outfit,sans-serif;margin:0 0 4px}.product-info p{font-size:13px;line-height:1.45;color:#655965;margin:0 0 7px;min-height:38px}.product-info>strong{display:block;color:#df0059;font:800 22px Outfit,sans-serif;margin:4px 0 9px}.buy-btn{width:100%;border:0;border-radius:10px;padding:11px 8px;background:linear-gradient(90deg,#ed005d,#c40050);color:#fff;font-weight:900;font-size:14px;box-shadow:0 5px 12px #d9005720}.buy-btn:hover{filter:brightness(1.08)}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;background:#fff0f6;margin-top:22px;padding:40px max(25px,calc((100% - 1120px)/2))}.about-photo img{width:100%;height:250px;object-fit:cover;border-radius:20px}.about-copy>span,.closing>div>span{font-size:11px;letter-spacing:2px;font-weight:900;color:#e0005b}.about-copy h2{font:700 34px/1.1 "Playfair Display",serif;margin:10px 0;color:#32182a}.about-copy p{font-size:15px;line-height:1.7;color:#685866}.about-copy>a{font-weight:900;color:#d90058;border-bottom:1px solid;padding-bottom:5px}.closing{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px max(25px,calc((100% - 1120px)/2));background:linear-gradient(100deg,#ffe3ee,#fff3f8)}.closing h2{font:800 30px/1.12 Outfit,sans-serif;color:#d60056;margin:8px 0}.closing p{color:#62525d;margin:0;max-width:500px}.closing>a{background:#08aa39;color:#fff;border-radius:40px;padding:15px 24px;text-align:center;font-weight:800;box-shadow:0 7px 20px #009f3430;min-width:270px}.closing>a b{color:#fff22e;font-size:21px}footer{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:23px;background:#281321;color:#f9e8f0;font-size:12px}footer>b{font:800 18px Outfit,sans-serif;color:#ff78aa}footer a{color:#ff9cbd}footer small{color:#cdb6c4}.floating-wa{display:none}.cart-backdrop{position:fixed;inset:0;background:#1d0b18a8;z-index:49;opacity:0;visibility:hidden;transition:.25s}.cart-backdrop.show{opacity:1;visibility:visible}.cart-drawer{position:fixed;z-index:50;right:0;top:0;width:min(440px,100%);height:100dvh;background:#fff9fc;color:#2b1825;transform:translateX(105%);transition:.28s;display:flex;flex-direction:column;box-shadow:-10px 0 40px #0003}.cart-drawer.open{transform:translateX(0)}.cart-head{background:#bd004d;color:#fff;padding:20px;display:flex;align-items:center;justify-content:space-between}.cart-head small{font-size:10px;letter-spacing:2px;color:#ffd5e5}.cart-head h2{font:800 23px Outfit,sans-serif;margin:4px 0 0}.cart-head button{border:0;background:none;color:#fff;font-size:32px}.cart-items{padding:15px 20px;overflow:auto;flex:1}.empty-cart{text-align:center;padding:50px 10px;color:#947d8a;line-height:1.7}.cart-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid #f1dce6}.cart-row h3{font:800 15px Outfit,sans-serif;margin:0 0 4px}.cart-row small{color:#8a7480}.cart-row-price{font-weight:800;color:#d40057}.qty{display:flex;align-items:center;gap:9px;margin-top:8px}.qty button{width:27px;height:27px;border:1px solid #edc7d8;background:#fff;border-radius:50%;color:#b8004d;font-weight:900}.qty .remove{width:auto;border:0;background:none;color:#b8004d;font-size:12px;margin-left:6px}.cart-footer{padding:16px 20px 20px;background:#fff;border-top:1px solid #f1dce6;overflow:auto}.total{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.total b{font:800 24px Outfit,sans-serif;color:#d40057}.cart-footer label{display:block;font-size:12px;font-weight:800;margin:9px 0 0}.cart-footer input,.cart-footer textarea{display:block;width:100%;margin-top:5px;border:1px solid #ead1dd;border-radius:9px;padding:10px;font:14px "DM Sans",sans-serif;resize:vertical}.checkout{width:100%;border:0;border-radius:25px;background:#08a83a;color:#fff;padding:14px;margin-top:13px;font-weight:900}.checkout:disabled{opacity:.4}.checkout-note{display:block;text-align:center;font-size:10px;color:#907c88;margin-top:8px}
@media(max-width:900px){.nav{gap:18px}.nav nav{gap:16px}.category-grid{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.hero-photo{left:35%}}
@media(max-width:650px){.topbar{height:35px;font-size:10px;gap:7px}.topbar i{height:13px}.nav{padding:10px 15px;gap:12px}.brand-flower{font-size:34px}.brand b{font-size:21px}.brand small{font-size:7px;letter-spacing:1.2px}.hamburger{display:block;order:3}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff8fc;padding:12px 20px 18px;box-shadow:0 8px 15px #47142a18;flex-direction:column;align-items:stretch;gap:0}.nav nav.open{display:flex}.nav nav a{padding:12px 3px;border-bottom:1px solid #f5e4ec}.cart-trigger{margin-left:auto;font-size:20px}.hero{min-height:680px}.hero-photo{inset:0;background-position:62% center;background-size:cover;opacity:1}.hero-overlay{background:linear-gradient(180deg,rgba(255,241,247,.78) 0%,rgba(255,241,247,.62) 30%,rgba(255,241,247,.18) 57%,rgba(255,241,247,.02) 100%)}.hero-copy{padding:30px 21px 0}.eyebrow{font-size:11px;letter-spacing:2.4px}.hero h1{font-size:clamp(40px,11vw,55px);letter-spacing:-1.5px}.heart-line{font-size:22px;margin-left:100px}.hero-copy p{font-size:15px;max-width:320px;margin-bottom:14px}.primary-btn{font-size:15px;padding:13px 19px}.hero-dots{left:0;right:0;bottom:15px;justify-content:center}.benefits{grid-template-columns:repeat(2,1fr);padding:16px 8px;gap:13px 0}.benefits>div{justify-content:flex-start;padding:4px 10px;gap:8px}.benefits>div:nth-child(2){border:0}.benefits>div:nth-child(3),.benefits>div:nth-child(4){border-top:1px solid #f2bfd2;padding-top:12px}.benefits>div>span{font-size:25px}.benefits b{font-size:13px}.benefits small{font-size:10px}.section{padding:30px 14px}.section-title{gap:10px}.section-title span{width:23px}.section-title h2{font-size:24px}.category-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.category-grid a{border-radius:14px;padding-bottom:7px}.category-grid b{font-size:11px}.products{padding-top:12px}.section-sub{font-size:12px;margin:7px 0 17px}.product-grid{gap:11px}.product-card{border-radius:13px}.product-image{height:145px}.product-info{padding:10px}.product-info h3{font-size:15px}.product-info p{font-size:11px;min-height:45px}.product-info>strong{font-size:18px}.buy-btn{font-size:11px;padding:10px 4px}.about{grid-template-columns:1fr;gap:17px;padding:26px 16px;margin-top:10px}.about-photo img{height:180px}.about-copy h2{font-size:29px}.about-copy p{font-size:13px;margin-bottom:15px}.closing{padding:25px 18px;display:block;text-align:center}.closing h2{font-size:27px}.closing p{font-size:13px;margin-bottom:17px}.closing>a{display:block;max-width:330px;margin:auto;min-width:0;font-size:13px}footer{gap:9px;flex-direction:column;padding:20px}.floating-wa{display:grid;place-items:center;position:fixed;right:15px;bottom:15px;width:52px;height:52px;border-radius:50%;z-index:35;background:#08ad3d;color:white;font-size:27px;box-shadow:0 5px 18px #0003}}
@media(max-width:370px){.brand b{font-size:18px}.brand-flower{font-size:29px}.category-grid{gap:6px}.category-grid b{font-size:10px}.product-image{height:125px}.product-info h3{font-size:13px}.product-info p{font-size:10px}.product-info>strong{font-size:16px}}

.product-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 22px;max-width:1100px}
.filter-chip{border:1px solid #efc7d8;background:#fff;color:#70495d;border-radius:30px;padding:8px 14px;font-size:12px;font-weight:800}
.filter-chip.active,.filter-chip:hover{background:#d90058;color:#fff;border-color:#d90058}
@media(max-width:650px){.product-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 0 8px;margin-bottom:14px;scrollbar-width:none}.product-filters::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;padding:8px 12px;font-size:11px}}

/* V2 mobile hero and clean category cards */
.category-grid a{display:flex;flex-direction:column;padding:0 0 10px}
.category-grid img{aspect-ratio:1/0.88;object-fit:cover}
.category-grid b{padding:9px 3px 0;line-height:1.15}
@media(max-width:650px){
  .hero{min-height:680px}
  .hero-photo{background-position:60% center;background-size:cover}
  .hero-overlay{background:linear-gradient(180deg,rgba(255,241,247,.76) 0%,rgba(255,241,247,.55) 27%,rgba(255,241,247,.18) 52%,rgba(255,241,247,.02) 100%)}
  .hero-copy{padding-top:28px}
  .hero-copy p{max-width:310px;text-shadow:0 1px 8px rgba(255,255,255,.65)}
  .category-grid img{aspect-ratio:1/0.82}
}

/* V3: calmer mobile hero composition + single-line category labels */
@media(max-width:650px){
  .hero{
    min-height:690px;
    background:#fff0f5;
  }
  .hero-photo{
    inset:auto 0 0 0;
    height:51%;
    background-image:url("../images/hero-bouquet.jpg");
    background-size:cover;
    background-position:center 43%;
    opacity:1;
  }
  .hero-overlay{
    inset:0;
    background:linear-gradient(
      180deg,
      #fff0f5 0%,
      #fff0f5 39%,
      rgba(255,240,245,.96) 45%,
      rgba(255,240,245,.55) 52%,
      rgba(255,240,245,0) 66%
    );
  }
  .hero-copy{
    padding:28px 21px 360px;
  }
  .eyebrow{font-size:10px;letter-spacing:2.3px}
  .hero h1{
    font-size:clamp(39px,10.5vw,49px);
    line-height:1.02;
    letter-spacing:-1.3px;
    margin-top:11px;
  }
  .heart-line{font-size:19px;margin:2px 0 9px 86px}
  .hero-copy p{
    max-width:315px;
    font-size:14px;
    line-height:1.48;
    margin:0 0 15px;
    color:#51414b;
  }
  .primary-btn{font-size:14px;padding:13px 19px}
  .primary-btn b{font-size:22px}
  .hero-dots{bottom:15px}
  .hero-dots i{background:#fff;border:1px solid #e8a8c1}
  .hero-dots i.active{background:#e6005d;border-color:#e6005d}
  .category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .category-grid a{
    display:block;
    padding:0 0 9px;
    border-radius:14px;
    background:#ffedf4;
    overflow:hidden;
  }
  .category-grid img{
    display:block;
    width:100%;
    aspect-ratio:1/0.88;
    object-fit:cover;
  }
  .category-grid b{
    display:block;
    padding:8px 2px 0;
    font-size:11px;
    line-height:1.2;
    white-space:normal;
  }
}
@media(max-width:380px){
  .hero{min-height:660px}
  .hero-copy{padding-bottom:335px}
  .hero-photo{height:50%}
  .hero h1{font-size:39px}
  .category-grid{gap:7px}
  .category-grid b{font-size:10px}
}

/* V4: remove visual seam between hero copy and bouquet photo */
@media(max-width:650px){
  .topbar{
    justify-content:center;
    gap:0;
    padding:0 10px;
    font-size:10px;
  }
  .hero{
    position:relative;
    min-height:690px;
    overflow:hidden;
    background:#fff0f5;
  }
  .hero-photo{
    inset:27% 0 0 0;
    height:auto;
    background-size:cover;
    background-position:center 44%;
    opacity:1;
  }
  .hero-overlay{
    inset:0;
    background:linear-gradient(
      180deg,
      #fff0f5 0%,
      #fff0f5 34%,
      rgba(255,240,245,.98) 40%,
      rgba(255,240,245,.88) 46%,
      rgba(255,240,245,.58) 54%,
      rgba(255,240,245,.22) 63%,
      rgba(255,240,245,0) 73%
    );
  }
  .hero-copy{
    padding:28px 21px 360px;
  }
}
@media(max-width:380px){
  .hero{min-height:660px}
  .hero-copy{padding-bottom:335px}
}
