/* Отдельная широкая композиция. Мобильные правила остаются прежними. */
.desktop-only { display:none; }
.hero-copy { display:contents; }
#grid .card[hidden], #searchResult[hidden], #clearSearch[hidden] { display:none!important; }
@media (min-width:1024px) {
  :root { --desktop-left:144px; --desktop-right:24px; }
  html { scroll-padding-top:0; }
  body { background:#d5bfce; }
  body::before { content:''; position:fixed; inset:-40px; z-index:-1; background:linear-gradient(120deg,#dec5d58f,#ead6d6c9),url('../img/hero-breeze.jpg') center 58%/cover; filter:blur(22px); opacity:.8; pointer-events:none; }
  .desktop-only { display:block; }
  main { margin:0 var(--desktop-right) 0 var(--desktop-left); padding:18px 0 38px; }
  #desktopHeader { position:fixed; z-index:22; top:36px; left:calc(var(--desktop-left) + 22px); right:calc(var(--desktop-right) + 22px); height:70px; padding:10px 18px; display:flex; align-items:center; gap:20px; border-radius:25px; border-color:#fff7; background:linear-gradient(120deg,#fdf2f55c,#fff5f538); backdrop-filter:blur(26px) saturate(1.12); -webkit-backdrop-filter:blur(26px) saturate(1.12); box-shadow:inset 0 1px 1px #fff7,0 8px 24px #56364409; }
  .desktop-links { display:flex; align-items:center; gap:7px; margin-right:auto; }
  .desktop-links button { min-height:44px; padding:0 20px; border:1px solid transparent; border-radius:24px; font-size:13px; font-weight:400; color:#765c70; white-space:nowrap; }
  .desktop-links button[aria-current=true] { background:linear-gradient(145deg,#fff9,#fff3); border-color:#fffa; box-shadow:inset 0 1px 1px #fffb; color:#7e4b85; }
  #catalogSearchForm { margin:0; width:clamp(190px,22vw,310px); }
  .desktop-search { position:relative; display:flex; align-items:center; height:44px; border:1px solid #fff9; border-radius:22px; background:#fff5; box-shadow:inset 0 1px 1px #fff7; }
  .desktop-search>svg { width:21px; height:21px; margin-left:15px; flex:none; color:#92778a; }
  .desktop-search input { border:0; background:transparent; box-shadow:none; width:100%; min-width:0; min-height:42px; padding:8px 34px 8px 10px; font-size:13px; border-radius:22px; color:#604458; outline-offset:1px; }
  .desktop-search input::placeholder { color:#957c8b; }
  .desktop-search input::-webkit-search-cancel-button { display:none; }
  #clearSearch { position:absolute; right:3px; top:3px; width:36px; height:36px; border-radius:50%; font-size:21px; color:#8b697e; }
  .desktop-cart { position:relative; flex:none; width:44px; height:44px; border-radius:17px; background:linear-gradient(145deg,#fffa,#fff2); border:1px solid #fffa; box-shadow:inset 0 1px 1px #fff9; color:#925b91; }
  .desktop-cart svg { width:24px; height:24px; }
  .desktop-cart .badge { top:-4px; left:auto; right:-5px; background:#a46aa6; }
  #nav.glass, #nav.glass.off { top:18px; bottom:18px; left:24px; right:auto; margin:0; width:96px; max-width:none; border-radius:30px; padding:18px 8px; display:flex; flex-direction:column; gap:15px; opacity:1; transform:none; pointer-events:auto; background:linear-gradient(155deg,#fff8,#f7ebf13b); border-color:#fff9; box-shadow:inset 0 1px 1px #fff,0 8px 28px #5b345014; }
  #nav button { width:100%; min-height:75px; border-radius:23px; color:#946b8c; font-size:10px; font-weight:400; gap:7px; border:1px solid transparent; flex-shrink:0; }
  #nav button svg { width:27px; height:27px; stroke-width:1.3; }
  #nav button[aria-current=true] { background:linear-gradient(140deg,#f9dcfaab,#e8c6e687); border-color:#fff; box-shadow:inset 0 1px 3px #fff,0 0 22px #fff8; color:#95529d; }
  #nav .desktop-brand, #nav .desktop-brand[aria-current=true] { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:136px; padding:0; margin:0 0 35px; background:none; border:0; box-shadow:none; border-radius:0; }
  #nav .desktop-brand img { display:block; width:86px; height:86px; object-fit:contain; }
  #nav .desktop-brand span { font-size:8px; font-weight:400; line-height:1.5; color:#956d8b; }
  #nav .badge { background:#a16b9e; top:9px; left:calc(50% + 7px); }
  #nav .sidebar-caption { margin-top:auto; padding:16px 0 8px; text-align:center; font:400 12px/1.5 'Cormorant Garamond',Georgia,serif; color:#9a7c90; }
  #hero { min-height:max(740px,calc(100svh - 36px)); padding:128px 40px 76px; border:1px solid #fff9; border-bottom:0; border-radius:36px 36px 0 0; display:grid; grid-template-columns:minmax(330px,.84fr) minmax(0,1.16fr); grid-template-rows:1fr; gap:28px; align-items:center; justify-items:stretch; background:#b5a2ac; --hero-wave-height:60px; }
  #hero .bg { display:none; }
  #hero .herophoto { inset:-9% -5% auto auto; width:70%; height:118%; object-fit:cover; object-position:52% 58%; filter:saturate(.64) brightness(1.16); mask-image:linear-gradient(90deg,transparent,#000 35%); -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%); }
  #hero::before { background:linear-gradient(90deg,#c4a9badd,#d8bdca73 35%,#d7bdce12 65%),linear-gradient(0deg,#a888a02e,#efdbe92e); }
  #hero::after { height:120px; }
  #hero .hero-copy { position:relative; z-index:3; display:flex; flex-direction:column; align-items:center; align-self:center; width:100%; max-width:450px; min-height:536px; padding:28px 30px 32px; border:1px solid #ffffff9c; border-radius:34px; background:linear-gradient(140deg,#fff5f8a3,#f7e7f46b 60%,#f5ddec80); backdrop-filter:blur(26px) saturate(1.06); -webkit-backdrop-filter:blur(26px) saturate(1.06); box-shadow:inset 1px 1px 1px #fffd,inset -1px -1px 1px #fff6,0 20px 50px #5d3e4f10; }
  #hero .logo { width:clamp(180px,19vw,252px); aspect-ratio:1; background:none; border:0; box-shadow:none; border-radius:0; backdrop-filter:none; -webkit-backdrop-filter:none; overflow:visible; flex:none; }
  #hero .logo img { padding:0; }
  #hero .logo::before,#hero .logo::after { display:none; }
  #hero .slogan { color:#614657; text-shadow:none; width:100%; margin:12px 0 24px; }
  #hero .slogan h1 { font-size:clamp(34px,3.15vw,48px); line-height:1.08; font-weight:400; }
  #hero .slogan-divider { width:160px; margin:18px auto 14px; color:#a87892; }
  #hero .slogan-divider i { background:linear-gradient(90deg,transparent,#ab7d9699); }
  #hero .slogan p { color:#7c6174; font-size:20px; }
  #hero .cta { width:100%; height:70px; min-height:70px; padding:8px 10px 8px 20px; margin-top:auto; font-size:17px; background:linear-gradient(115deg,#e5c3e596,#fffcf69c); box-shadow:inset 1px 2px 3px #fff,0 6px 22px #79516e19; }
  #hero .cta i { width:52px; height:52px; flex-basis:52px; }
  #hero .cta-label { gap:13px; }
  #hero .hero-notes { position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-self:end; margin-bottom:2px; }
  .hero-note { border-radius:25px; padding:20px 10px 18px; color:#fdf7fa; text-align:center; background:linear-gradient(140deg,#c1a8bc73,#c8b1ba4d); border-color:#fff8; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:inset 0 1px 1px #fff7,0 8px 20px #412d3a0e; }
  .hero-note>span { display:block; height:40px; font:300 40px/1 Georgia,serif; margin:0 auto 12px; }
  .hero-note>svg { display:block; width:36px; height:40px; margin:0 auto 12px; }
  .hero-note h3 { font-size:clamp(17px,1.55vw,23px); font-weight:400; line-height:1.05; }
  .hero-note p { margin:9px 0 0; color:#f5edf1dd; font-size:10px; line-height:1.6; }
  #catalog { padding:132px 40px 48px; border-inline:1px solid #fff8; background:linear-gradient(180deg,#f8e5ed,#e3cdd5 210px,#ddc6d2 65%,#e6d2dc); }
  #catalog>.wrap { max-width:1540px; }
  #catalog .head { max-width:64%; min-height:134px; margin:0 0 20px; padding:0; }
  #catalog .head h2 { font-size:clamp(52px,4.6vw,72px); line-height:1; color:#664354; }
  #catalog .head p { font-size:17px; margin:12px 0 0; color:#967786; }
  #catalog .deco { top:-65px; width:440px; height:290px; right:-25px; }
  #catalog #catAster { top:-10px; right:0; width:380px; opacity:.52; mask-image:linear-gradient(#000 40%,transparent 98%); -webkit-mask-image:linear-gradient(#000 40%,transparent 98%); }
  #catalog::after { opacity:.4; }
  #catalog .grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:15px; }
  #catalog .card.glass { padding:12px; border-radius:25px; background:linear-gradient(135deg,#fff8,#fdf4f548 55%,#fff5); }
  #catalog .card .ph { aspect-ratio:1.05; border-radius:18px; background:linear-gradient(145deg,#fff6,#fff0); box-shadow:none; }
  #catalog .card h3 { font-size:15px; line-height:1.3; min-height:2.6em; margin:12px 2px 10px; }
  #catalog .card-price { font-size:15px; letter-spacing:0; padding-left:2px; }
  #catalog .card-price small { font-size:9px; }
  #catalog .card-plus { width:35px; height:35px; flex-basis:35px; font-size:25px; }
  #catalog .bouquet-entry { grid-column:auto; padding:0; margin:0; background:linear-gradient(135deg,#f4e4f5bf,#dbb3d480); }
  #catalog .bouquet-entry>button { display:flex; flex-direction:column; justify-content:space-between; gap:0; padding:12px; height:100%; min-height:0; border-radius:25px; }
  #catalog .bouquet-entry>button>div:first-child { width:100%; padding:0 3px 5px; }
  #catalog .bouquet-entry .bouquet-entry-label { display:none; }
  #catalog .bouquet-entry h3 { font-family:'Cormorant Garamond',Georgia,serif; font-size:27px; font-weight:500; line-height:.98; margin:6px 0 12px; min-height:0; }
  #catalog .bouquet-entry .bouquet-entry-link { font-size:9px; white-space:normal; }
  #catalog .bouquet-entry .bouquet-entry-link b { margin-left:2px; width:19px; height:19px; }
  #catalog .bouquet-entry-flowers { order:-1; height:auto; aspect-ratio:1.05; width:100%; flex-shrink:0; }
  #catalog .bouquet-entry-flowers img { width:76%; height:93%; top:4%; }
  #catalog .bouquet-entry-flowers img:nth-child(1) { right:28%; top:0; }
  #catalog .bouquet-entry-flowers img:nth-child(2) { right:-7%; top:0; }
  #catalog .bouquet-entry-flowers img:nth-child(3) { right:8%; top:13%; }
  #searchResult { position:relative; z-index:2; font-size:13px; color:#7d5b71; margin:0 0 20px; padding:16px 20px; border:1px solid #fff9; border-radius:18px; background:#fff4; }
  #contacts, #cart { padding:126px 40px 40px; background:linear-gradient(#e6d2dc,#e8d8df); border-inline:1px solid #fff8; scroll-margin-top:0; }
  #contacts>.wrap, #cart>.wrap { max-width:1120px; }
  #contacts .panel, #cart .panel { padding:34px 40px; background:linear-gradient(130deg,#fff7,#fff3); border-radius:30px; }
  #contacts h2, #cart h2 { font-size:46px; font-weight:400; margin-bottom:26px; }
  #contactList { grid-template-columns:1fr 1fr; gap:26px 50px; }
  #cartBody .item { grid-template-columns:88px 1fr; gap:22px; padding:20px 0; }
  #cartBody .item .ph { width:88px; }
  #cartBody .qty { max-width:430px; }
  #orderForm { grid-template-columns:1fr 1fr; gap:18px; padding-top:20px; }
  #orderForm .seg, #orderForm #addrL, #orderForm label:has(textarea), #orderForm button[type=submit] { grid-column:1/-1; }
  #orderForm button[type=submit] { max-width:360px; width:100%; justify-self:end; }
  #orderForm input, #orderForm select, #orderForm textarea { min-width:0; width:100%; }
  #orderForm .seg input { width:20px; }
  .management-footer { background:#e8d8df; border:1px solid #fff8; border-top:0; border-radius:0 0 36px 36px; padding:22px 20px; }
  #toast { bottom:30px; left:calc(50% + 60px); }
}
@media (min-width:1600px) {
  #hero { padding-inline:60px; gap:64px; }
  #hero .hero-copy { max-width:470px; justify-self:center; }
  #hero .hero-notes { margin-inline:0 12px; }
  .hero-note { padding:28px 14px; }
  .hero-note p { font-size:12px; }
  #catalog { padding-inline:55px; }
  #catalog .grid { gap:20px; }
  #catalog .card h3,#catalog .card-price { font-size:17px; }
}
@media (min-width:1024px) and (max-width:1199px) {
  :root { --desktop-left:118px; --desktop-right:16px; }
  #nav.glass,#nav.glass.off { left:16px; width:84px; }
  #desktopHeader { left:calc(var(--desktop-left) + 16px); right:32px; padding-inline:12px; gap:12px; }
  .desktop-links { gap:2px; }.desktop-links button { padding-inline:12px; font-size:12px; }
  #catalogSearchForm { width:190px; }
  #hero { padding-inline:24px; gap:20px; grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr); }
  #hero .hero-copy { padding:24px 22px; min-height:510px; }
  #hero .hero-notes { gap:8px; }
  .hero-note { padding:18px 6px; border-radius:20px; }.hero-note h3 { font-size:17px; }.hero-note p { font-size:9px; }
  #catalog { padding-inline:24px; }
  #catalog .grid { gap:10px; }
  #catalog .card.glass { padding:9px; border-radius:21px; }
  #catalog .card h3 { font-size:13px; }
  #catalog .card-price { font-size:13px; }
  #catalog .card-plus { width:29px; height:29px; flex-basis:29px; }
  #catalog .bouquet-entry h3 { font-size:24px; }
  #catalog .bouquet-entry .bouquet-entry-link { font-size:8px; }
}
