@font-face { font-family:Kreadon; src:url("assets/Kreadon.woff2") format("woff2"); font-style:normal; font-weight:200 800; font-display:swap; }
:root { --paper:#f7f5f7; --ink:#28212a; --muted:#656067; --accent:#b753d5; --dark:#582167; --radius:16px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.4 "Kreadon","Trebuchet MS",Arial,sans-serif; }
h1,h2,h3,p { margin:0; }
h2 { font-size:clamp(25px,2.6vw,40px); font-weight:400; line-height:1.12; }
h3 { font-size:17px; line-height:1.25; }
button { border:0; padding:0; background:none; color:inherit; cursor:pointer; font:inherit; text-align:inherit; }
button:focus-visible,a:focus-visible { outline:3px solid #642078; outline-offset:3px; }
img { display:block; max-width:100%; height:auto; }
.wrap { width:min(1300px,calc(100% - 48px)); margin-inline:auto; }
.section { margin-block-start:clamp(47px,6.5vw,90px); }
.header { padding:19px 0 0; }
.top,.toolbar,.top nav,.socials,.tool { display:flex; align-items:center; }
.top { gap:24px; justify-content:space-between; }
.brand { flex-shrink:0; }
.top nav { flex:1; justify-content:space-around; flex-wrap:wrap; gap:8px 14px; font-size:14px; color:var(--muted); }
.top nav button:hover,.footer button:hover { color:#80249d; }
.header-phone { white-space:nowrap; font-size:17px; font-weight:700; }
.socials { gap:12px; }
.social { padding:4px; }
.toolbar { gap:15px; margin-top:22px; }
.cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:9px 15px; border:1px solid transparent; border-radius:8px; font-size:14px; font-weight:700; white-space:nowrap; }
.cta:hover { filter:brightness(.92); }
.cta.filled { background:var(--accent); color:#fff; }
.cta.outline { border-color:var(--accent); color:#80249d; }
.cta.white { color:white; border-color:#fff9; }
.toolbar .cta { min-height:49px; text-transform:uppercase; }
.search { display:flex; flex:1; min-width:0; justify-content:space-between; align-items:center; gap:10px; color:var(--muted); background:#fff; border:1px solid #e8e2e8; min-height:49px; padding:0 14px; border-radius:8px; }
.tool { flex:none; gap:9px; color:var(--muted); font-size:13px; }
.tool small { font-size:inherit; color:#776f79; }
.notice { margin-block:22px 20px; }
.notice-inner { display:flex; align-items:center; justify-content:space-between; gap:18px 25px; min-height:136px; padding:22px clamp(22px,3.4vw,45px); color:#fff; background:var(--dark); border-inline-start:8px solid #df9bf0; border-radius:var(--radius); }
.notice h1 { font-size:clamp(28px,3.5vw,45px); line-height:1.06; font-weight:750; }
.notice p { margin-top:8px; font-size:clamp(16px,1.55vw,21px); }
.notice-button { background:#fff; color:var(--dark); min-height:49px; font-size:16px; }
.notice-button:focus-visible { outline-color:#fff; }
.hero,.promo { position:relative; isolation:isolate; border-radius:var(--radius); }
.hero { display:flex; align-items:center; min-height:400px; overflow:hidden; background:#9c45b5; color:#fff; }
.hero-copy { position:relative; z-index:1; max-width:55%; margin-left:7.5%; padding:30px 0; }
.hero h2 { font-size:clamp(36px,5.3vw,68px); }
.hero p { margin:13px 0 25px; max-width:460px; font-size:clamp(16px,2vw,24px); }
.hero-glow,.hero-cake,.petal { position:absolute; pointer-events:none; }
.hero-glow { top:50%; left:39%; width:85%; max-width:none; transform:translateY(-50%); opacity:.75; }
.hero-cake { width:54.23%; max-width:none; right:-1.9%; top:7.75%; }
.petal { width:56px; height:40px; overflow:hidden; }
.petal img { position:absolute; width:270px; max-width:none; }
.petal-1 { right:11%; top:14%; transform:rotate(-16deg); }
.petal-1 img { left:-191px; top:-181px; }
.petal-2 { right:4%; top:74%; transform:rotate(14deg); }
.petal-2 img { left:-175px; top:-3px; }
.petal-3 { right:40%; bottom:4%; transform:rotate(-7deg); }
.petal-3 img { left:-34px; top:-195px; }
.arrow { display:grid; place-items:center; position:absolute; z-index:2; top:50%; width:48px; height:48px; transform:translateY(-50%); }
.arrow.prev { left:12px; }
.arrow.prev img { transform:rotate(180deg); }
.arrow.next { right:12px; }
.arrow:focus-visible { outline-color:#fff; }
.progress { display:grid; grid-template-columns:repeat(7,1fr); gap:clamp(5px,2vw,30px); margin:10px 0 0; }
.progress button { min-height:12px; position:relative; }
.progress button::before { position:absolute; inset:3px 0; border-radius:6px; background:#e6d4eb; content:""; }
.progress .current::before,.progress button:hover::before { background:var(--accent); }
.categories { display:grid; grid-template-columns:repeat(20,minmax(0,1fr)); gap:20px; margin-top:30px; }
.category,.value { position:relative; isolation:isolate; overflow:hidden; border-radius:12px; }
.category { min-height:151px; grid-column:span 4; color:#2d1635; display:flex; align-items:flex-start; padding:15px; font-weight:700; font-size:clamp(14px,1.5vw,22px); line-height:1.13; }
.category:nth-child(n+6) { grid-column:span 5; }
.category span,.value span { position:relative; z-index:1; }
.category span { max-width:8ch; }
.category img { position:absolute; width:var(--photo,88%); max-width:none; right:var(--edge,-20%); top:var(--top,10%); }
.category-1 { background:#d7a9e3; --photo:91%; --edge:-30%; }
.category-2 { background:#dc90f3; --photo:93%; --edge:-26%; --top:21%; }
.category-3 { background:#a9aee3; --photo:84%; --edge:-22%; }
.category-4 { background:#a9d6e3; --photo:78%; --edge:-21%; --top:16%; }
.category-5 { background:#a9e3c6; --photo:94%; --edge:-35%; --top:5%; }
.category-6 { background:#bfe3a9; --photo:66%; --edge:-12%; --top:23%; }
.category-7 { background:#e3dea9; --photo:75%; --edge:-15%; --top:18%; }
.category-8 { background:#e3baa9; --photo:67%; --edge:-14%; --top:15%; }
.category-9 { background:#e3a9b1; --photo:65%; --edge:-15%; --top:18%; }
.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:22px; }
.product { display:flex; flex-direction:column; min-width:0; border:1px solid #e3e3e3; border-radius:12px; padding:0 14px 14px; background:#f9faf6; overflow:hidden; }
.product-media { position:relative; margin:0 -14px 12px; }
.product-image { display:block; width:100%; }
.product-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.tags,.favorite { position:absolute; top:10px; }
.tags { left:10px; display:flex; flex-wrap:wrap; gap:5px; pointer-events:none; }
.tags span { display:inline-flex; align-items:center; gap:4px; background:#fcf1e6; padding:2px 6px; border-radius:5px; font-size:11px; }
.tags .hit { background:#9342ae; color:#fff; text-transform:uppercase; }
.tags img { width:13px; }
.favorite { right:9px; padding:6px; background:#ffffffd9; border-radius:50%; }
.product h3 button:hover { color:#80249d; }
.weight { color:var(--muted); margin:4px 0 12px; font-size:13px; }
.buy { margin-top:auto; display:flex; justify-content:flex-end; }
.promo { min-height:265px; display:flex; align-items:center; color:#fff; background:linear-gradient(100deg,#a841c5,#8a389d); }
.made,.delivery { clip-path:inset(-100% 0 0 round var(--radius)); }
.promo-copy { position:relative; z-index:1; width:57%; padding:24px 4%; }
.promo h2,.about h2 { font-size:clamp(27px,4vw,55px); }
.promo p { margin-top:10px; font-size:clamp(15px,1.55vw,20px); }
.promo .cta { margin-top:19px; }
.promo-photo,.loyalty-photo { position:absolute; pointer-events:none; max-width:none; }
.made .promo-photo { width:44.6%; right:0; top:-37%; }
.delivery .promo-photo { width:54.15%; right:0; top:-68%; }
.about { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,36.54%); gap:30px; }
.about > div > p { margin:22px 0 16px; max-width:720px; color:var(--muted); }
.shops { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.shop { display:flex; align-items:stretch; justify-content:space-between; min-height:124px; border:1px solid #e3e3e3; border-radius:10px; overflow:hidden; font-size:14px; }
.shop > div { padding:12px 9px; }
.shop p { margin:7px 0 5px; }
.route,.address { display:flex; align-items:center; gap:5px; color:#80249d; }
.facade { width:34%; min-width:65px; background:#6d6d6d; color:#fff; text-align:center; }
.about-photo { position:relative; overflow:hidden; aspect-ratio:475/669; border-radius:var(--radius); background:#e6d4ca; }
.about-photo .about-layer { position:absolute; max-width:none; width:269.47%; height:auto; top:-13.75%; left:-76.84%; }
.loyalty { overflow:hidden; justify-content:flex-end; background:linear-gradient(100deg,#833596,#b14bcb); }
.loyalty-photo { width:35%; left:0; bottom:-63%; }
.badges,.partners { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.badges { margin-top:18px; }
.badges button { flex:0 1 155px; }
.appgallery { display:block; position:relative; }
.appgallery-icon { position:absolute; top:22%; left:10%; }
.appgallery > span { color:white; position:absolute; top:13%; left:36%; font:11px/1.1 Arial,sans-serif; }
.appgallery strong { font-size:14px; }
.values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.value { min-height:clamp(175px,18vw,318px); padding:20px; color:#2a1530; display:flex; align-items:flex-start; font-size:clamp(18px,2.25vw,32px); line-height:1.13; }
.value span { max-width:9ch; }
.value img { position:absolute; max-width:none; pointer-events:none; }
.value-1 { background:#91e3ba; }
.value-1 img { width:113%; top:-14%; right:-49%; }
.value-2 { background:#e3aa91; }
.value-2 img { width:237%; left:-24%; top:-26%; }
.value-3 { background:#9198e3; }
.value-3 img { width:127%; left:14%; top:13%; }
.value-4 { background:#b1e391; }
.value-4 img { width:261%; left:-50%; top:-8%; }
.footer { background:#f0ecf3; margin-top:clamp(45px,6.5vw,90px); padding:45px 0 32px; font-size:14px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr .95fr 1fr; gap:24px; }
.footer h2 { font-size:17px; font-weight:700; margin-bottom:10px; }
.footer p { margin:8px 0; }
.footer-phones { display:grid; gap:4px; font-weight:700; }
.footer-link { display:flex; gap:5px; align-items:center; padding:3px 0; }
.footer-bottom { margin-top:28px; padding-top:18px; border-top:1px solid #ddd2e2; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; color:var(--muted); font-size:12px; }
.footer-bottom button { margin-right:10px; text-decoration:underline; }
.partners img { max-height:19px; width:auto; }
dialog { width:min(465px,calc(100% - 28px)); max-height:calc(100% - 28px); overflow:auto; color:var(--ink); background:white; border:0; border-top:6px solid var(--accent); border-radius:var(--radius); padding:28px 22px 22px; box-shadow:0 15px 60px #0005; }
dialog::backdrop { background:#211228a6; }
dialog h2 { margin-right:34px; font-size:27px; }
dialog p { margin-top:11px; }
.close { position:absolute; top:7px; right:9px; width:39px; height:39px; border-radius:8px; background:#f4edf7; font-size:25px; text-align:center; }
.phones { display:grid; gap:10px; margin-top:18px; }
.phones a { color:#782391; font-size:19px; font-weight:700; }
@media (max-width:1000px) {
  .top { flex-wrap:wrap; gap:14px; }
  .top nav { order:3; flex-basis:100%; justify-content:flex-start; }
  .toolbar { gap:10px; }
  .category { min-height:125px; }
  .about { grid-template-columns:1.3fr .7fr; gap:18px; }
  .shops { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .wrap { width:calc(100% - 28px); }
  .header { padding-top:13px; }
  .top nav { display:none; }
  .top { column-gap:8px; }
  .header-phone { font-size:14px; }
  .top .socials { gap:3px; }
  .top .social img { max-width:16px; }
  .toolbar { display:grid; grid-template-columns:1fr 1fr 34px 34px; margin-top:12px; gap:7px; }
  .toolbar .cta { min-height:39px; padding:6px; font-size:11px; white-space:normal; }
  .search { display:none; }
  .tool { justify-content:center; }
  .tool span { display:none; }
  .notice { margin-block:14px 15px; }
  .notice-inner { flex-wrap:wrap; gap:12px; padding:16px 15px; border-inline-start-width:5px; }
  .notice-button { min-height:41px; }
  .hero { min-height:305px; align-items:flex-start; }
  .hero-copy { margin-left:10%; max-width:80%; padding-top:20px; }
  .hero h2 { font-size:34px; }
  .hero p { max-width:220px; margin:8px 0 13px; }
  .hero-cake { width:75%; top:auto; bottom:-19%; right:-12%; }
  .hero-glow { width:100%; }
  .petal { display:none; }
  .arrow { width:25px; }
  .arrow.prev { left:3px; }
  .arrow.next { right:3px; }
  .categories { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:18px; gap:9px; }
  .category,.category:nth-child(n+6) { grid-column:auto; min-height:104px; padding:10px; }
  .category:last-child { grid-column:1/-1; }
  .category:last-child img { width:37%; right:0; }
  .products,.values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .product { padding:0 9px 10px; }
  .product-media { margin:0 -9px 8px; }
  .product h3 { font-size:14px; }
  .tags { left:5px; top:6px; }
  .tags span { font-size:9px; padding-inline:4px; }
  .favorite { right:5px; top:6px; padding:4px; }
  .favorite img { max-width:13px; }
  .promo { min-height:205px; overflow:hidden; }
  .promo-copy { padding:18px 13px; width:67%; }
  .made .promo-photo { width:69%; right:-25%; top:auto; bottom:-6%; }
  .delivery .promo-photo { width:74%; right:-28%; top:auto; bottom:-16%; }
  .about { grid-template-columns:minmax(0,1fr); }
  .about-photo { max-height:450px; width:min(100%,475px); }
  .loyalty .promo-copy { width:69%; }
  .loyalty-photo { width:53%; left:-15%; bottom:-22%; }
  .badges { gap:6px; }
  .badges button { flex-basis:105px; }
  .appgallery-icon { width:18px; }
  .appgallery > span { font-size:8px; }
  .appgallery strong { font-size:10px; }
  .value { min-height:169px; padding:13px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:365px) { .top .socials { flex-basis:100%; } .top { row-gap:5px; } }

