/* Eternal Flowers / Samba — homepage v1. Only active when #ef-home exists. */

#ef-home {
      --ink: #342c32;
      --muted: #766a71;
      --rose: #b76b84;
      --rose-deep: #8d4f67;
      --rose-soft: #f4e5e9;
      --cream: #fffaf5;
      --paper: #fffdfb;
      --mauve: #ede0e5;
      --gold: #bd9862;
      --line: #eadfe1;
      --shadow: 0 18px 45px rgba(78, 46, 61, .10);
      --serif: Georgia, 'Times New Roman', serif;
      --sans: Arial, Helvetica, sans-serif;
    }
#ef-home * { box-sizing: border-box; }
html:has(#ef-home) { scroll-behavior: smooth; }
#ef-home {
      margin: 0;
      color: var(--ink);
      background: var(--cream);
      font-family: var(--sans);
      line-height: 1.55;
    }
#ef-home a { color: inherit; text-decoration: none; }
#ef-home button { font: inherit; cursor: pointer; }
#ef-home img { display: block; max-width: 100%; }
#ef-home .ef-announcement {
      background: var(--ink);
      color: #fff;
      text-align: center;
      font-size: 12px;
      letter-spacing: .08em;
      padding: 9px 16px;
    }
#ef-home .ef-site-header {
      position: sticky;
      top: 0;
      z-index: 10;
      background: rgba(255,250,245,.92);
      border-bottom: 1px solid rgba(234,223,225,.9);
      backdrop-filter: blur(16px);
    }
#ef-home .ef-nav {
      width: min(1180px, calc(100% - 40px));
      height: 78px;
      margin: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }
#ef-home .ef-brand { display: flex; align-items: center; gap: 11px; min-width: max-content; }
#ef-home .ef-brand-logo { width: 142px; height: auto; max-height: 50px; object-fit: contain; }
#ef-home .brand-mark {
      width: 34px; height: 34px; border-radius: 50%; position: relative;
      background: radial-gradient(circle at 50% 50%, #fff4cf 0 12%, transparent 13%),
        radial-gradient(ellipse at 50% 15%, #bd6f88 0 18%, transparent 19%),
        radial-gradient(ellipse at 85% 50%, #bd6f88 0 18%, transparent 19%),
        radial-gradient(ellipse at 50% 85%, #bd6f88 0 18%, transparent 19%),
        radial-gradient(ellipse at 15% 50%, #bd6f88 0 18%, transparent 19%);
      border: 1px solid rgba(141,79,103,.18);
    }
#ef-home .ef-brand strong { font-family: var(--serif); font-size: 21px; letter-spacing: .08em; font-weight: 500; }
#ef-home .ef-brand small { display: block; font-size: 9px; letter-spacing: .30em; color: var(--rose-deep); margin-top: -3px; }
#ef-home .ef-nav-links { display: flex; gap: 25px; font-size: 13px; color: #665b61; }
#ef-home .ef-nav-links a:hover { color: var(--rose-deep); }
#ef-home .ef-nav-actions { display: flex; gap: 12px; align-items: center; }
#ef-home .ef-icon-btn { border: 0; background: transparent; color: var(--ink); padding: 8px; font-size: 16px; }
#ef-home .ef-cart-btn { border: 1px solid var(--line); border-radius: 999px; padding: 9px 14px; background: #fff; font-size: 12px; }
#ef-home .ef-hero-wrap { width: min(1280px, calc(100% - 30px)); margin: 26px auto 0; }
#ef-home .ef-hero {
      min-height: 500px;
      border-radius: 26px;
      overflow: hidden;
      position: relative;
      display: flex;
      align-items: center;
      background: linear-gradient(100deg, #f7e8e8 0%, #f5e4e5 47%, #dbc0c5 100%);
      box-shadow: var(--shadow);
    }
#ef-home .ef-hero::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(90deg, rgba(255,250,245,.84) 0%, rgba(255,250,245,.44) 45%, rgba(255,250,245,0) 75%);
      pointer-events: none;
    }
#ef-home .ef-hero-image {
      position: absolute; inset: 0 0 0 45%;
      background: linear-gradient(90deg, rgba(224,194,198,.12), rgba(224,194,198,.02)), url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/banners/carousel-andrea-do-2mb.jpg?6a9d521e') center/cover;
      filter: saturate(.78);
    }
#ef-home .ef-hero-content { position: relative; z-index: 1; width: min(570px, 60%); padding: 70px 60px; }
#ef-home .ef-eyebrow { color: var(--rose-deep); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
#ef-home h1, #ef-home h2, #ef-home h3 { font-family: var(--serif); font-weight: 500; line-height: 1.08; }
#ef-home h1 { font-size: clamp(42px, 5vw, 71px); margin: 18px 0 20px; letter-spacing: -.03em; }
#ef-home .ef-hero-content p { max-width: 440px; font-size: 17px; color: #62575d; margin: 0 0 28px; }
#ef-home .ef-button-row { display: flex; flex-wrap: wrap; gap: 11px; }
#ef-home .ef-btn { border: 0; border-radius: 999px; padding: 13px 22px; font-weight: 700; font-size: 13px; transition: transform .2s, box-shadow .2s, background .2s; }
#ef-home .ef-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(91,43,62,.16); }
#ef-home .ef-btn-primary { color: white; background: var(--rose-deep); }
#ef-home .ef-btn-secondary { color: var(--rose-deep); background: rgba(255,255,255,.7); border: 1px solid rgba(141,79,103,.2); }
#ef-home .ef-hero-note { display: flex; gap: 8px; align-items: center; margin-top: 27px; font-size: 12px; color: #715f68; }
#ef-home .ef-hero-note span { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
#ef-home .ef-trust { width: min(1120px, calc(100% - 40px)); margin: 25px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); border-radius: 14px; overflow: hidden; }
#ef-home .ef-trust-item { background: var(--paper); text-align: center; padding: 17px 10px; font-size: 13px; }
#ef-home .ef-trust-item strong { display: block; font-size: 15px; color: var(--rose-deep); }
#ef-home .ef-trust-item span { color: var(--muted); font-size: 11px; }
#ef-home .ef-section { width: min(1120px, calc(100% - 40px)); margin: 94px auto 0; }
#ef-home .ef-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
#ef-home .ef-section-head h2 { font-size: clamp(32px, 4vw, 48px); margin: 8px 0 0; }
#ef-home .ef-section-head p { max-width: 390px; color: var(--muted); font-size: 14px; margin: 0; }
#ef-home .ef-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
#ef-home .ef-choice { background: var(--paper); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
#ef-home .ef-choice:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
#ef-home .ef-choice-img { height: 230px; background-size: cover; background-position: center; }
#ef-home .ef-choice:nth-child(1) .ef-choice-img { background-image: url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/shop/detail/168_stredni-kytice-ze-stuh-s-jednou-velkou-slunecnici-a-osmi-satenovymi-ruzemi-ve-vinove-a-zlute-barve.png?ff=1&x=700&y=500&q=90&ts=6a9d460f&sg=2175fb9d'); }
#ef-home .ef-choice:nth-child(2) .ef-choice-img { background-image: url('https://www.eternalflowers.cz/user/documents/upload/ef-konfigurator-banner-v1.png'); }
#ef-home .ef-choice:nth-child(3) .ef-choice-img { background-image: url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/banners/carousel-svatebni-premium-kytice-videt-shoptet-under-2mb.png?6a34685b'); }
#ef-home .ef-choice-body { padding: 22px; }
#ef-home .ef-choice-body h3 { font-size: 27px; margin: 0 0 8px; }
#ef-home .ef-choice-body p { margin: 0 0 16px; color: var(--muted); font-size: 13px; min-height: 42px; }
#ef-home .ef-text-link { color: var(--rose-deep); font-size: 12px; font-weight: 700; letter-spacing: .05em; }
#ef-home .ef-configurator { display: grid; grid-template-columns: .85fr 1.15fr; gap: 0; overflow: hidden; border-radius: 24px; background: var(--ink); color: white; box-shadow: var(--shadow); }
#ef-home .ef-config-copy { padding: 54px 50px; }
#ef-home .ef-config-copy .ef-eyebrow { color: #ebc3ce; }
#ef-home .ef-config-copy h2 { font-size: 45px; margin: 15px 0; }
#ef-home .ef-config-copy p { color: #d4c6cb; font-size: 15px; }
#ef-home .ef-config-steps { margin: 26px 0 30px; padding: 0; list-style: none; counter-reset: steps; }
#ef-home .ef-config-steps li { counter-increment: steps; display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.13); color: #f3e7ea; font-size: 13px; }
#ef-home .ef-config-steps li::before { content: counter(steps); width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #8d4f67; font-size: 11px; }
#ef-home .ef-config-preview { background: linear-gradient(130deg, #e7c7ce, #f7e4de); min-height: 390px; padding: 38px; display: flex; align-items: center; justify-content: center; }
#ef-home .ef-builder { width: min(100%, 420px); background: rgba(255,255,255,.86); border-radius: 18px; color: var(--ink); padding: 23px; box-shadow: 0 15px 35px rgba(72,33,49,.17); }
#ef-home .ef-builder-top { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted); margin-bottom: 14px; }
#ef-home .ef-progress { height: 5px; background: #eadde0; border-radius: 9px; overflow: hidden; margin-bottom: 22px; }
#ef-home .ef-progress i { display: block; width: 44%; height: 100%; background: var(--rose); }
#ef-home .ef-builder h3 { font-size: 27px; margin: 0 0 15px; }
#ef-home .ef-swatches { display: flex; gap: 10px; margin: 10px 0 24px; }
#ef-home .ef-swatches span { width: 28px; height: 28px; border-radius: 50%; border: 3px solid white; box-shadow: 0 0 0 1px var(--line); }
#ef-home .ef-swatches span:nth-child(1) { background: #b45a70; box-shadow: 0 0 0 2px var(--rose-deep); }
#ef-home .ef-swatches span:nth-child(2) { background: #e5a9af; }
#ef-home .ef-swatches span:nth-child(3) { background: #f5dfd1; }
#ef-home .ef-swatches span:nth-child(4) { background: #ca9caa; }
#ef-home .ef-swatches span:nth-child(5) { background: #eee2db; }
#ef-home .ef-builder-row { display: flex; justify-content: space-between; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px; font-size: 12px; margin-top: 9px; }
#ef-home .ef-builder-row b { color: var(--rose-deep); }
#ef-home .ef-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
#ef-home .ef-product { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
#ef-home .ef-product-img { aspect-ratio: 1 / 1.08; background-size: cover; background-position: center; }
#ef-home .ef-product:nth-child(1) .ef-product-img { background-image: url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/shop/detail/144_stredni-kytice-ze-stuh-s-19-satenovymi-ruzemi-v-harmonicke-kombinaci-ruzove--bile-a-fialove-barvy.png?ff=1&x=700&y=700&q=90&ts=6a9d460f&sg=2175fb9d'); }
#ef-home .ef-product:nth-child(2) .ef-product-img { background-image: url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/shop/detail/150_stredni-kytice-ze-stuh-s-18-cervenymi-satenovymi-ruzemi-zdobenymi-stribrnymi-trpytkami.png?ff=1&x=700&y=700&q=90&ts=6a9d460f&sg=2175fb9d'); }
#ef-home .ef-product:nth-child(3) .ef-product-img { background-image: url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/shop/detail/117_stredni-kytice-ze-stuh-se-7-rucne-vyrabenymi-satenovymi-slunecnicemi-v-darkovem-baleni.png?ff=1&x=700&y=700&q=90&ts=6a9d460f&sg=2175fb9d'); }
#ef-home .ef-product:nth-child(4) .ef-product-img { background-image: url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/shop/detail/204_stredni-kytice-ze-stuh-kombinujici-satenove-ruze-a-jiriny-v-jemnych-ruzovo-kremovych-tonech.png?ff=1&x=700&y=700&q=90&ts=6a9d4610&sg=2175fb9d'); }
#ef-home .ef-product-body { padding: 14px; }
#ef-home .ef-product-body h3 { font-size: 20px; margin: 0 0 4px; }
#ef-home .ef-product-body p { color: var(--muted); font-size: 12px; margin: 0 0 10px; }
#ef-home .ef-product-meta { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 13px; }
#ef-home .ef-price { color: var(--rose-deep); }
#ef-home .ef-atelier { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
#ef-home .ef-atelier-photo { min-height: 420px; border-radius: 22px; background: linear-gradient(140deg, rgba(205,144,157,.12), rgba(255,250,245,.05)), url('https://cdn.myshoptet.com/usr/www.eternalflowers.cz/user/documents/upload/andrea-banner.jpg') center/cover; }
#ef-home .ef-atelier-copy h2 { font-size: 49px; margin: 12px 0 18px; }
#ef-home .ef-atelier-copy p { color: var(--muted); font-size: 15px; }
#ef-home .ef-signature { margin-top: 24px; color: var(--rose-deep); font-family: var(--serif); font-size: 24px; font-style: italic; }
#ef-home .ef-review-strip { background: #f3e6e9; border-radius: 22px; padding: 35px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 30px; align-items: center; }
#ef-home .ef-review-score { text-align: center; border-right: 1px solid #ddcbd1; }
#ef-home .ef-review-score strong { display: block; font-family: var(--serif); font-size: 56px; font-weight: 500; color: var(--rose-deep); line-height: 1; }
#ef-home .ef-stars { color: var(--gold); letter-spacing: 4px; margin: 9px 0; }
#ef-home .ef-review-score span { font-size: 12px; color: var(--muted); }
#ef-home blockquote { margin: 0; font-family: var(--serif); font-size: 25px; line-height: 1.3; }
#ef-home blockquote footer { font-family: var(--sans); color: var(--muted); font-size: 12px; margin-top: 14px; }
#ef-home .ef-final-cta { text-align: center; padding: 90px 20px 110px; }
#ef-home .ef-final-cta h2 { font-size: 52px; margin: 10px auto 15px; }
#ef-home .ef-final-cta p { color: var(--muted); margin: 0 auto 24px; }
#ef-home .ef-footer { padding: 28px 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
#ef-home .ef-footer-inner { width: min(1120px, 100%); margin: auto; display: flex; justify-content: space-between; gap: 20px; }
#ef-home .ef-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 120px); background: var(--ink); color: white; padding: 13px 19px; border-radius: 999px; font-size: 13px; box-shadow: var(--shadow); transition: transform .25s; z-index: 20; }
#ef-home .ef-toast.show { transform: translate(-50%, 0); }
@media (max-width: 850px) {
#ef-home .ef-nav { height: 68px; width: min(100% - 28px, 720px); }
#ef-home .ef-nav-links { display: none; }
#ef-home .ef-hero { min-height: 610px; align-items: end; }
#ef-home .ef-hero-image { inset: 0 0 42% 0; }
#ef-home .ef-hero::after { background: linear-gradient(180deg, rgba(255,250,245,.15) 0%, rgba(255,250,245,.08) 36%, rgba(255,250,245,.98) 70%); }
#ef-home .ef-hero-content { width: 100%; padding: 28px 26px 35px; }
#ef-home h1 { font-size: 45px; }
#ef-home .ef-trust { grid-template-columns: repeat(2, 1fr); }
#ef-home .ef-section { margin-top: 68px; width: min(100% - 28px, 720px); }
#ef-home .ef-section-head { display: block; }
#ef-home .ef-section-head p { margin-top: 12px; }
#ef-home .ef-choices, #ef-home .ef-products { grid-template-columns: repeat(2, 1fr); }
#ef-home .ef-choice-img { height: 180px; }
#ef-home .ef-configurator, #ef-home .ef-atelier, #ef-home .ef-review-strip { grid-template-columns: 1fr; }
#ef-home .ef-config-copy { padding: 35px 27px; }
#ef-home .ef-config-preview { min-height: 320px; padding: 22px; }
#ef-home .ef-review-score { border-right: 0; border-bottom: 1px solid #ddcbd1; padding-bottom: 24px; }
#ef-home blockquote { font-size: 22px; }
#ef-home .ef-atelier-photo { min-height: 300px; order: 2; }
#ef-home .ef-atelier-copy h2 { font-size: 41px; }
#ef-home .ef-final-cta { padding: 65px 20px 85px; }
#ef-home .ef-final-cta h2 { font-size: 42px; }
    }
@media (max-width: 520px) {
#ef-home .ef-hero-wrap { width: calc(100% - 18px); margin-top: 12px; }
#ef-home .ef-hero { border-radius: 19px; }
#ef-home .ef-brand strong { font-size: 18px; }
#ef-home .ef-cart-btn { padding: 8px 10px; }
#ef-home .ef-choice-body { padding: 17px; }
#ef-home .ef-choice-body h3 { font-size: 23px; }
#ef-home .ef-choices, #ef-home .ef-products { grid-template-columns: 1fr; }
#ef-home .ef-choice-img { height: 210px; }
#ef-home .ef-products .ef-product { display: grid; grid-template-columns: 118px 1fr; }
#ef-home .ef-product-img { aspect-ratio: auto; min-height: 140px; }
#ef-home .ef-product-body { display: flex; flex-direction: column; justify-content: center; }
#ef-home .ef-footer-inner { display: block; text-align: center; }
#ef-home .ef-footer-inner span { display: block; margin-top: 6px; }
    }
  