/* Цветы с характером — light editorial storefront. */
:root{--milk:#f6efe6;--paper:#fffaf3;--ink:#221c19;--muted:#756b64;--line:rgba(34,28,25,.16);--wine:#651f2f;--olive:#59613a;--rose:#d9a7a2;--sand:#e7d6c1;--shadow:0 24px 70px rgba(34,28,25,.12);--radius-xl:34px;--radius-md:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
radial-gradient(circle at 12% 8%,rgba(217,167,162,.28),transparent 24rem),
radial-gradient(circle at 88% 10%,rgba(244,226,212,.82),transparent 30rem),
radial-gradient(circle at 82% 68%,rgba(89,97,58,.12),transparent 27rem),
radial-gradient(circle at 20% 88%,rgba(231,214,193,.72),transparent 26rem),
linear-gradient(180deg,#fbf5ef 0%,#f7efe6 48%,#f4eadf 100%);
color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5;overflow-x:hidden;position:relative;isolation:isolate}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}code{background:rgba(34,28,25,.08);border-radius:7px;padding:.05rem .35rem}.noise{pointer-events:none;position:fixed;inset:0;opacity:.32;z-index:0;background-image:
radial-gradient(circle at 20% 18%,rgba(255,255,255,.55) 0,transparent 22%),
radial-gradient(circle at 76% 30%,rgba(255,255,255,.28) 0,transparent 18%),
linear-gradient(45deg,rgba(34,28,25,.018) 25%,transparent 25%),
linear-gradient(-45deg,rgba(34,28,25,.014) 25%,transparent 25%);
background-size:100% 100%,100% 100%,6px 6px,6px 6px;mix-blend-mode:multiply}
body::before,body::after{content:"";position:fixed;z-index:0;pointer-events:none;filter:blur(18px);opacity:.9}
body::before{width:38vw;height:38vw;min-width:260px;min-height:260px;max-width:560px;max-height:560px;left:-10vw;top:16vh;border-radius:50%;background:radial-gradient(circle,rgba(223,195,191,.46) 0%,rgba(223,195,191,.18) 46%,transparent 72%)}
body::after{width:34vw;height:34vw;min-width:240px;min-height:240px;max-width:500px;max-height:500px;right:-8vw;bottom:8vh;border-radius:50%;background:radial-gradient(circle,rgba(125,136,90,.18) 0%,rgba(125,136,90,.08) 44%,transparent 72%)}
.site-header{position:sticky;top:0;z-index:20;min-height:72px;padding:16px clamp(18px,4vw,52px);display:flex;align-items:center;gap:24px;justify-content:space-between;background:rgba(250,244,236,.76);backdrop-filter:blur(20px);border-bottom:1px solid rgba(34,28,25,.08)}.brand,.nav,.header-cta{position:relative;z-index:1}.brand{display:inline-flex;gap:10px;align-items:center;font-weight:700;letter-spacing:-.02em}.brand-mark{width:32px;height:32px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--wine);background:var(--paper)}.nav{display:flex;gap:clamp(14px,2.4vw,34px);font-size:14px;color:var(--muted)}.nav a:hover{color:var(--wine)}.header-cta{border:1px solid var(--ink);padding:10px 16px;border-radius:999px;font-size:14px;transition:.2s ease}.header-cta:hover{background:var(--ink);color:var(--paper)}.section{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));margin:0 auto;padding:clamp(58px,8vw,110px) 0}.section.compact{padding-top:22px;padding-bottom:30px}.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(44px,7vw,92px)}.eyebrow{margin:0 0 16px;color:var(--wine);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700}h1,h2,h3{margin:0;letter-spacing:-.07em;line-height:.92;font-family:Georgia,"Times New Roman",serif;font-weight:500}h1{font-size:clamp(72px,12vw,168px);max-width:760px}h2{font-size:clamp(44px,7vw,92px)}h3{font-size:clamp(32px,4vw,54px)}.lead{margin:28px 0 0;max-width:620px;color:var(--muted);font-size:clamp(18px,2vw,24px)}.hero-actions,.custom-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:999px;border:1px solid var(--ink);font-weight:700;font-size:14px;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:var(--paper)}.btn-light{background:rgba(255,250,243,.5);color:var(--ink)}.hero-note{margin-top:36px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px}.hero-note span+span::before{content:"•";margin-right:10px;color:var(--wine)}.hero-art{position:relative;min-height:640px}.hero-card{border:1px solid rgba(34,28,25,.12);background:var(--paper);box-shadow:var(--shadow)}.hero-card-main{overflow:hidden;border-radius:var(--radius-xl);transform:rotate(2.2deg)}.hero-card-main img{width:100%;min-height:560px;object-fit:cover}.hero-card-caption{position:absolute;left:-28px;bottom:54px;min-width:220px;padding:18px;border-radius:22px;display:grid;gap:6px;transform:rotate(-5deg)}.caption-num{color:var(--wine);font-family:Georgia,serif;font-size:34px;line-height:1}.section-title,.collection-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-text{max-width:430px;margin:0;color:var(--muted)}.mood-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.mood-chip{appearance:none;border:1px solid var(--line);background:rgba(255,250,243,.48);color:var(--ink);padding:12px 16px;border-radius:999px;cursor:pointer;font-weight:700;transition:.2s ease}.mood-chip:hover,.mood-chip.is-active{background:var(--wine);border-color:var(--wine);color:var(--paper)}.product-grid{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px)}.product-card{position:relative;overflow:hidden;border-radius:var(--radius-xl);background:rgba(255,250,243,.82);border:1px solid rgba(34,28,25,.10);box-shadow:0 16px 50px rgba(34,28,25,.08);cursor:pointer;transition:transform .24s ease,box-shadow .24s ease}.product-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.product-image{aspect-ratio:4/5;width:100%;object-fit:cover;background:var(--sand)}.product-body{padding:18px 18px 20px}.product-meta{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:13px;margin-bottom:10px}.product-title{font-family:Georgia,serif;font-size:30px;letter-spacing:-.04em;line-height:1;margin:0 0 14px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.product-price{font-weight:800}.product-order{color:var(--wine);font-weight:800;font-size:14px}.badge{position:absolute;top:14px;left:14px;border-radius:999px;background:rgba(255,250,243,.86);backdrop-filter:blur(12px);border:1px solid rgba(34,28,25,.08);padding:7px 10px;font-size:12px;font-weight:800;color:var(--wine)}.empty-state{margin-top:32px;padding:30px;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted)}.editorial{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,6vw,82px);align-items:center}.editorial-image{border-radius:var(--radius-xl);overflow:hidden;background:var(--paper);box-shadow:var(--shadow);transform:rotate(-1.5deg)}.editorial-copy p:not(.eyebrow),.florist-copy p,.custom-box p{color:var(--muted);max-width:620px;font-size:18px}.custom-box{position:relative;overflow:hidden;padding:clamp(32px,6vw,70px);border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(101,31,47,.96),rgba(34,28,25,.97)),var(--wine);color:var(--paper);box-shadow:var(--shadow)}.custom-box::after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:999px;background:rgba(217,167,162,.22)}.custom-box .eyebrow,.custom-box p{color:rgba(255,250,243,.78)}.custom-box .btn-dark{background:var(--paper);color:var(--ink);border-color:var(--paper)}.custom-box .btn-light{color:var(--paper);border-color:rgba(255,250,243,.55);background:transparent}.florist{display:grid;grid-template-columns:1fr .68fr;gap:clamp(24px,5vw,70px);align-items:stretch}.florist-card{min-height:360px;padding:30px;border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(255,250,243,.5),rgba(255,250,243,.86)),url("../img/florist-card.svg") center/cover;border:1px solid rgba(34,28,25,.12);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:end;gap:10px}.florist-card strong{max-width:320px;font-family:Georgia,serif;font-size:46px;line-height:.92;letter-spacing:-.06em}.small-label{color:var(--wine);text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800}.contacts-inner{border-top:1px solid var(--line);padding-top:52px}.contact-list{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}.contact-list a{border:1px solid var(--line);border-radius:999px;background:rgba(255,250,243,.5);padding:12px 16px;font-weight:800}.contact-list a:hover{background:var(--ink);color:var(--paper)}.muted{color:var(--muted)}.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:18px}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(20,14,12,.58);backdrop-filter:blur(8px)}.modal-card{position:relative;z-index:1;width:min(920px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;display:grid;grid-template-columns:.85fr 1fr;background:var(--paper);border-radius:var(--radius-xl);box-shadow:0 30px 90px rgba(0,0,0,.35)}.modal-card img{width:100%;height:100%;min-height:520px;object-fit:cover}.modal-content{padding:clamp(24px,4vw,48px)}.modal-content p{color:var(--muted)}.modal-bottom{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:18px}.modal-bottom strong{font-size:24px}.modal-close{position:absolute;right:16px;top:14px;z-index:2;width:42px;height:42px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-size:28px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:920px){.nav{display:none}.hero,.editorial,.florist,.modal-card{grid-template-columns:1fr}.hero{min-height:auto}.hero-art{min-height:0}.hero-card-main img{min-height:auto}.hero-card-caption{left:18px;bottom:18px}.section-title,.collection-head{display:block}.section-text{margin-top:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card img{min-height:340px}}@media(max-width:620px){.site-header{min-height:62px;padding:12px 16px}.brand span:last-child{max-width:120px;line-height:1.05}.header-cta{padding:9px 12px}.section{width:min(100% - 28px,1180px);padding:54px 0}h1{font-size:clamp(62px,22vw,92px)}.lead{font-size:17px}.hero-note{display:block}.hero-note span{display:block}.hero-note span+span::before{content:"";margin:0}.product-grid{grid-template-columns:1fr}.custom-box{padding:26px}.modal-bottom{display:block}.modal-bottom .btn{margin-top:14px;width:100%}}


/* v2: production polish */
.collection-side{display:grid;gap:16px;justify-items:start;max-width:470px}
.search-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--wine)}
.catalog-search{width:min(100%,470px);border:1px solid var(--line);background:rgba(255,250,243,.72);border-radius:999px;padding:14px 18px;color:var(--ink);outline:none;box-shadow:0 12px 35px rgba(34,28,25,.05);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.catalog-search:focus{border-color:rgba(101,31,47,.55);background:var(--paper);box-shadow:0 18px 45px rgba(101,31,47,.12)}
.loading-grid{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px)}
.loading-grid[hidden]{display:none}.loading-grid span{min-height:420px;border-radius:var(--radius-xl);background:linear-gradient(100deg,rgba(255,250,243,.35),rgba(255,250,243,.85),rgba(255,250,243,.35));background-size:220% 100%;animation:shimmer 1.5s infinite;border:1px solid rgba(34,28,25,.08)}
@keyframes shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
.product-image-wrap{overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.product-image{height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .3s ease}.product-card:hover .product-image{transform:scale(1.045);filter:saturate(1.06) contrast(1.02)}
.product-short{margin:0 0 18px;color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.product-card.is-muted{opacity:.72}.product-card.is-muted .badge{color:var(--muted)}
.product-details{margin:22px 0 0;display:grid;gap:8px}.product-details div{display:grid;grid-template-columns:92px 1fr;gap:14px;border-top:1px solid var(--line);padding-top:9px}.product-details dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--wine);font-weight:800}.product-details dd{margin:0;color:var(--muted)}
.to-top{position:fixed;right:18px;bottom:18px;z-index:30;width:46px;height:46px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,243,.88);color:var(--ink);box-shadow:0 16px 36px rgba(34,28,25,.14);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.22s ease}.to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.modal.is-open .modal-card{animation:modalIn .24s cubic-bezier(.2,.8,.2,1)}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.mood-chip,.btn,.product-card,.contact-list a,.header-cta{-webkit-tap-highlight-color:transparent}.mood-chip:focus-visible,.btn:focus-visible,.product-card:focus-visible,.catalog-search:focus-visible,.modal-close:focus-visible,.to-top:focus-visible{outline:3px solid rgba(101,31,47,.3);outline-offset:3px}
@media(max-width:920px){.collection-side{max-width:none;margin-top:18px}.loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.loading-grid{grid-template-columns:1fr}.loading-grid span{min-height:360px}.product-details div{grid-template-columns:1fr;gap:2px}.catalog-search{border-radius:18px}.to-top{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}


/* v6: бейдж характера переносим вниз вправо, чтобы не пересекался с названием. */
.product-card .badge {
  position: absolute;
  right: 14px;
  bottom: 132px;
  left: auto;
  top: auto;
  max-width: calc(100% - 28px);
  z-index: 2;
}


/* v6 polish */
.product-card .product-body {
  position: relative;
  z-index: 1;
}

@media (max-width: 620px) {
  .product-card .badge {
    right: 12px;
    bottom: 126px;
  }
}
