/* ============================================================
   LUNÉA — statická landing page (Stripe Payment Links)
   Paleta a fonty = oficiální brand kit
   ============================================================ */
:root{
  --bg:#F5F0EC; --section:#EFE6E0; --surface:#FFFFFF;
  --text:#6F4D59; --muted:#8B6570;
  --action:#8B6570; --action-dark:#6F4D59;
  --accent:#D5A8A1; --rose:#B88782; --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--text);
  font-family:'Nunito Sans',sans-serif; font-size:16px; line-height:1.6;
}
h1,h2,h3{font-family:'Playfair Display',serif; color:var(--text); font-weight:600; letter-spacing:.2px}
a{color:var(--action); text-decoration:none}
a:hover{color:var(--action-dark)}
img{max-width:100%; display:block}
.wrap{max-width:1140px; margin:0 auto; padding:0 22px}

/* Buttons */
.btn{
  display:inline-block; background:var(--action); color:#fff !important;
  border:1px solid var(--action); border-radius:999px;
  padding:13px 28px; font-weight:600; letter-spacing:.3px; cursor:pointer;
  transition:.2s ease; font-size:15px;
}
.btn:hover{background:var(--action-dark); border-color:var(--action-dark); color:#fff !important}
.btn.ghost{background:transparent; color:var(--action) !important; border-color:var(--action)}
.btn.ghost:hover{background:var(--action); color:#fff !important}

/* Announcement bar */
.announce{
  background:var(--text); color:#F5F0EC; text-align:center;
  font-size:13px; letter-spacing:.6px; padding:9px 12px; text-transform:uppercase;
}

/* Header */
header{position:sticky; top:0; z-index:50; background:var(--surface); border-bottom:1px solid #ECDDD9}
.nav{display:flex; flex-direction:column; align-items:center; gap:12px; padding:20px 0 16px}
.nav .brand img{max-height:96px; width:auto}
.nav .links{display:flex; justify-content:center}
.nav .links a{margin:0 18px; color:var(--text); font-weight:500; font-size:15px; letter-spacing:.5px; text-transform:uppercase}
.nav .links a:hover{color:var(--action)}
.nav-toggle{display:none}
@media(max-width:640px){
  .nav .brand img{max-height:72px}
  .nav-toggle{
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    position:absolute; top:14px; right:74px; z-index:61;
    width:30px; height:30px; padding:4px; background:none; border:none; cursor:pointer;
  }
  .cart-label{display:none}
  .nav-toggle span{display:block; width:22px; height:2px; border-radius:2px; background:var(--text); transition:transform .25s ease, opacity .2s ease}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav .links{
    position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch;
    background:var(--surface); border-bottom:1px solid #ECDDD9;
    box-shadow:0 14px 26px rgba(111,77,89,.12);
    max-height:0; overflow:hidden; transition:max-height .3s ease;
  }
  .nav .links.open{max-height:320px}
  .nav .links a{margin:0; padding:15px 0; font-size:14px; text-align:center; border-top:1px solid #F0E7E2}
}

/* Hero */
.hero{
  background:linear-gradient(110deg,#EFE6E0 0%,#F5F0EC 55%,#E9DAD4 100%);
  padding:84px 0;
}
.hero .wrap{display:flex; align-items:center; gap:48px; flex-wrap:wrap}
.hero-copy{flex:1 1 360px}
.hero-copy h1{font-size:2.8rem; line-height:1.15; margin-bottom:18px}
.hero-copy p{font-size:1.12rem; color:var(--muted); margin-bottom:26px; max-width:460px}
.hero-art{
  flex:1 1 360px; aspect-ratio:1/1; border-radius:24px;
  background:radial-gradient(circle at 35% 30%,#D5A8A1,#B88782 60%,#8B6570);
  box-shadow:0 24px 60px rgba(111,77,89,.22);
  display:flex; align-items:flex-end; justify-content:flex-start;
}
.hero-art span{color:#F5F0EC; font-family:'Playfair Display',serif; font-size:1.1rem; padding:22px; opacity:.85}
@media(max-width:640px){.hero-copy h1{font-size:2.1rem}}

/* Sections */
section{padding:64px 0}
.sec-head{text-align:center; max-width:620px; margin:0 auto 40px}
.sec-head h2{font-size:2rem; margin-bottom:12px}
.sec-head p{color:var(--muted)}
.eyebrow{display:block; text-transform:uppercase; letter-spacing:2px; font-size:12px; color:var(--rose); margin-bottom:10px; font-weight:600}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px}
.shades{margin-top:14px; text-transform:uppercase; letter-spacing:3px; font-size:12px; font-weight:600; color:var(--muted)}

/* Product grid */
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:26px}
.card{
  background:var(--surface); border:1px solid #ECDDD9; border-radius:var(--radius);
  overflow:hidden; transition:.2s ease; display:flex; flex-direction:column;
}
.card:hover{box-shadow:0 12px 30px rgba(139,101,112,.16); transform:translateY(-4px)}
.card .photo{
  aspect-ratio:1/1; background-size:cover; background-position:center;
  display:flex; align-items:flex-start; justify-content:flex-end; padding:12px;
}
.badge{
  background:var(--accent); color:#6F4D59; font-size:11px; font-weight:700;
  border-radius:999px; padding:4px 11px; letter-spacing:.4px;
}
.card-body{padding:16px 16px 20px; display:flex; flex-direction:column; gap:8px; flex:1}
.card-body h3{font-size:1.18rem}
.swatch{display:inline-block; width:18px; height:18px; border-radius:50%; border:1px solid #00000014; vertical-align:middle; margin-right:6px}
.sw-mocha{background:#B08968}.sw-ochre{background:#C2703D}.sw-champagne{background:#E8D3B5}.sw-blush{background:#E5BFB8}.sw-noir{background:#2B2422}.sw-sage{background:#9CA98B}
.price{font-weight:700; font-size:1.05rem; color:var(--text)}
.card .btn{margin-top:auto; text-align:center}

/* Story */
.story{background:var(--section)}
.story .wrap{display:flex; gap:48px; align-items:center; flex-wrap:wrap}
.story-art{
  flex:1 1 320px; aspect-ratio:3/4; max-height:560px; border-radius:20px;
  background:radial-gradient(circle at 70% 30%,#E5BFB8,#B88782 70%);
  background-size:cover; background-position:center;
  box-shadow:0 18px 44px rgba(111,77,89,.18);
}
.story-copy{flex:1 1 360px}
.story-copy h2{font-size:1.9rem; margin-bottom:16px}
.story-copy p{color:var(--muted); margin-bottom:14px}

/* Elowen spotlight */
.spotlight .wrap{display:flex; gap:48px; align-items:center; flex-wrap:wrap-reverse}
.spotlight-copy{flex:1 1 340px}
.spotlight-art{
  flex:1 1 360px; aspect-ratio:1/1; border-radius:20px;
  background:radial-gradient(circle at 40% 40%,#C9B89E,#9CA98B 75%);
  box-shadow:0 20px 50px rgba(111,77,89,.2);
}

/* Trust row */
.trust{background:var(--surface); border-top:1px solid #ECDDD9; border-bottom:1px solid #ECDDD9}
.trust .grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center}
.trust .item{padding:8px}
.trust .ico{font-size:1.7rem; margin-bottom:8px}
.trust h4{font-family:'Playfair Display',serif; font-size:1.02rem; color:var(--text); margin-bottom:4px}
.trust p{font-size:13px; color:var(--muted)}
@media(max-width:640px){.trust .grid4{grid-template-columns:repeat(2,1fr)}}

/* Newsletter / social */
.signup{text-align:center; background:var(--section)}
.signup form{display:flex; gap:10px; max-width:460px; margin:22px auto 0; flex-wrap:wrap; justify-content:center}
.signup input{
  flex:1 1 240px; border:1px solid #E3D0CC; border-radius:999px;
  padding:13px 20px; font-family:inherit; font-size:15px; background:#fff;
}
.social{margin-top:26px}
.social a{margin:0 10px; font-weight:600}

/* Footer */
footer{background:var(--text); color:#E9DAD4; padding:46px 0 30px; font-size:14px}
footer .cols{display:flex; gap:40px; flex-wrap:wrap; justify-content:space-between}
footer h5{font-family:'Playfair Display',serif; color:#F5F0EC; margin-bottom:10px; font-size:1.05rem; font-weight:600}
footer a{color:#E9DAD4} footer a:hover{color:#fff}
footer ul{list-style:none} footer li{margin-bottom:6px}
footer .legal{margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); opacity:.75; font-size:12.5px; text-align:center}
/* Payment methods */
.pay{display:flex; gap:9px; flex-wrap:wrap; align-items:center; justify-content:center; margin-top:26px}
.pay-chip{background:#fff; border-radius:6px; height:30px; min-width:48px; padding:0 10px;
  display:inline-flex; align-items:center; justify-content:center; box-shadow:0 1px 3px rgba(0,0,0,.25)}
.pay-chip img{height:19px; width:auto; display:block}
/* Language switcher */
.lang{position:absolute; top:14px; left:18px; display:flex; gap:3px; z-index:60}
.lang button{background:none; border:none; cursor:pointer; font-family:'Nunito Sans',sans-serif;
  color:var(--muted); font-weight:700; font-size:12px; padding:3px 7px; letter-spacing:.6px; border-radius:6px; transition:.15s}
.lang button:hover{color:var(--text)}
.lang button.active{color:var(--text); background:#F0E7E2}
@media(max-width:640px){.lang{top:9px; left:9px} .lang button{font-size:11px; padding:3px 5px}}

/* ============================================================
   Product detail page (PDP)
   ============================================================ */
.pdp{padding:40px 0 56px}
.breadcrumb{font-size:13px; color:var(--muted); margin-bottom:24px; letter-spacing:.3px}
.breadcrumb a{color:var(--muted)} .breadcrumb a:hover{color:var(--text)}
.breadcrumb .sep{margin:0 8px; opacity:.55}
.pdp-grid{display:flex; gap:48px; align-items:flex-start; flex-wrap:wrap}
.gallery{flex:1 1 440px; min-width:300px}
.gallery .main{width:100%; aspect-ratio:1/1; border-radius:var(--radius); border:1px solid #ECDDD9;
  background:#fff center/cover no-repeat}
.gallery .thumbs{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap}
.gallery .thumbs button{width:76px; height:76px; border-radius:10px; border:1px solid #ECDDD9; padding:0;
  background:#fff center/cover no-repeat; cursor:pointer; opacity:.65; transition:.15s}
.gallery .thumbs button.active,.gallery .thumbs button:hover{opacity:1; border-color:var(--accent)}
.pdp-info{flex:1 1 360px; min-width:300px; position:sticky; top:24px}
.pdp-info h1{font-size:2rem; margin-bottom:8px}
.pdp-price{font-size:1.4rem; font-weight:700; color:var(--text); margin-bottom:6px}
.pdp-sub{color:var(--muted); font-size:14px; margin-bottom:24px; display:flex; align-items:center; gap:8px}
.pdp-qty{display:flex; align-items:center; gap:12px; margin-bottom:14px}
.pdp-qty label{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.6px}
.pdp-qty select{padding:10px 14px; border-radius:10px; border:1px solid #E3D0CC; font-family:inherit; font-size:15px; background:#fff}
.pdp-cta{display:block; width:100%; text-align:center; padding:15px; font-size:16px; margin-bottom:12px}
.pdp-cta.sold{background:#E7DCD8 !important; border-color:#E7DCD8 !important; color:var(--muted) !important; cursor:not-allowed; pointer-events:none}
.pdp-note{font-size:13px; color:var(--muted); display:flex; align-items:center; gap:7px; margin-bottom:24px}
.acc{border-top:1px solid #ECDDD9}
.acc-item{border-bottom:1px solid #ECDDD9}
.acc-head{width:100%; background:none; border:none; cursor:pointer; padding:16px 0;
  display:flex; justify-content:space-between; align-items:center;
  font-family:'Playfair Display',serif; font-size:1.08rem; color:var(--text); letter-spacing:.2px}
.acc-head .pm{font-size:1.5rem; color:var(--action); font-weight:300; line-height:1; transition:.2s}
.acc-item.open .acc-head .pm{transform:rotate(45deg)}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease; color:var(--muted); font-size:15px}
.acc-item.open .acc-body{max-height:700px}
.acc-body .inner{padding:2px 0 20px}
.acc-body p{margin-bottom:10px}
.reco h2{text-align:center; font-size:1.7rem; margin-bottom:32px}
@media(max-width:760px){
  .pdp-info{position:static}
  .pdp-grid{gap:26px}
  /* Mobil: připni "Do košíku" na spodní lištu, ať je vždy po ruce */
  body.pdp-page{padding-bottom:78px}
  .pdp-cta{
    position:fixed; left:0; right:0; bottom:0; width:auto; z-index:120;
    margin:0; border-radius:0; padding:17px 16px; font-size:16px;
    box-shadow:0 -6px 22px rgba(111,77,89,.20);
  }
  .pdp-note{margin-bottom:8px}
}

/* ============================================================
   Košík (drawer)
   ============================================================ */
.cart-btn{position:absolute; top:12px; right:16px; z-index:60; background:none; border:none; cursor:pointer;
  color:var(--text); display:flex; align-items:center; gap:4px; font-weight:700}
.cart-btn .ico{font-size:20px; line-height:1}
.cart-count{background:var(--action); color:#fff; border-radius:999px; min-width:18px; height:18px;
  font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 5px}
@media(max-width:640px){.cart-btn{top:8px; right:10px}}

.cart-overlay{position:fixed; inset:0; background:rgba(60,40,48,.42); opacity:0; visibility:hidden; transition:.25s; z-index:200}
.cart-overlay.open{opacity:1; visibility:visible}
.cart-drawer{position:fixed; top:0; right:0; height:100%; width:392px; max-width:90vw; background:var(--bg);
  box-shadow:-12px 0 44px rgba(60,40,48,.18); transform:translateX(100%); transition:transform .3s ease;
  z-index:201; display:flex; flex-direction:column}
.cart-drawer.open{transform:none}
.cart-drawer header{position:static; background:var(--surface); border-bottom:1px solid #ECDDD9;
  padding:18px 20px; display:flex; justify-content:space-between; align-items:center}
.cart-drawer h3{font-size:1.2rem; margin:0}
.cart-close{background:none; border:none; font-size:1.7rem; line-height:1; cursor:pointer; color:var(--muted)}
.cart-items{flex:1; overflow-y:auto; padding:8px 20px}
.cart-empty{text-align:center; color:var(--muted); padding:48px 16px}
.cart-line{display:flex; gap:12px; padding:14px 0; border-bottom:1px solid #ECDDD9}
.cart-line .ph{width:64px; height:64px; border-radius:10px; flex:none; border:1px solid #ECDDD9;
  background:#fff center/cover no-repeat}
.cart-line .meta{flex:1; min-width:0}
.cart-line .nm{font-family:'Playfair Display',serif; font-size:.98rem; color:var(--text); margin-bottom:2px}
.cart-line .pr{color:var(--muted); font-size:14px}
.cart-line .row{display:flex; align-items:center; justify-content:space-between; margin-top:8px}
.qstep{display:flex; align-items:center; border:1px solid #E3D0CC; border-radius:999px; background:#fff}
.qstep button{background:none; border:none; width:30px; height:30px; cursor:pointer; color:var(--text); font-size:16px}
.qstep span{min-width:24px; text-align:center; font-size:14px}
.cart-rm{background:none; border:none; color:var(--muted); cursor:pointer; font-size:12px; text-decoration:underline}
.cart-foot{padding:18px 20px; border-top:1px solid #ECDDD9; background:var(--surface)}
.cart-sub{display:flex; justify-content:space-between; font-weight:700; color:var(--text); margin-bottom:14px; font-size:1.05rem}

/* ---- Cart button (text místo emoji) + sklad stavy ---- */
.cart-btn{position:absolute; top:11px; right:16px; z-index:60; cursor:pointer;
  background:#fff; border:1px solid var(--accent); border-radius:999px; padding:7px 15px;
  color:var(--text); display:flex; align-items:center; gap:8px; font-weight:700;
  font-family:'Nunito Sans',sans-serif; font-size:12px; letter-spacing:.6px; text-transform:uppercase; transition:.15s}
.cart-btn:hover{background:var(--section); border-color:var(--rose)}
@media(max-width:640px){.cart-btn{top:8px; right:9px; padding:6px 12px; font-size:11px}}

/* sklad poznámka na produktovce */
.pdp-stock{font-size:13px; color:var(--rose); font-weight:700; letter-spacing:.3px; margin:-12px 0 18px}
.pdp-stock:empty{display:none; margin:0}

/* vyprodaná kachlička na homepage */
.card.soldout{position:relative; pointer-events:none}
.card.soldout .photo{filter:grayscale(.55) opacity(.7)}
.card.soldout::after{content:attr(data-sold); position:absolute; top:14px; left:14px; z-index:2;
  background:var(--text); color:#F5F0EC; font-size:11px; font-weight:700; letter-spacing:.5px;
  padding:5px 11px; border-radius:999px; text-transform:uppercase}

/* toast */
.cart-toast{position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px);
  background:var(--text); color:#F5F0EC; padding:11px 20px; border-radius:999px; font-size:14px;
  box-shadow:0 8px 26px rgba(60,40,48,.28); opacity:0; visibility:hidden; transition:.25s; z-index:300}
.cart-toast.show{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}

/* ---- Cart button: ikona + vyladění ---- */
.cart-btn{gap:7px; padding:8px 15px 8px 12px}
.cart-ico{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none}
.cart-label{line-height:1}
.cart-empty{display:flex; flex-direction:column; align-items:center; gap:14px; color:var(--muted); padding:54px 16px}
.cart-empty-ico{width:48px; height:48px; fill:none; stroke:var(--accent); stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; opacity:.8}
.cart-empty p{margin:0}
/* drobná animace přidání do košíku */
@keyframes cartPop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.cart-count.pop{animation:cartPop .3s ease}

/* galerie: hlavní obrázek jako <img> (SEO/alt) */
.gallery .main{overflow:hidden}
.gallery .main img{width:100%; height:100%; object-fit:cover; display:block}

.sw-navy{background:#3a4a78}

/* ============================================================
   Lookbook (galerie skupinových fotek)
   ============================================================ */
.lookbook{background:var(--section)}
.look-hero{border-radius:18px; overflow:hidden; margin-bottom:16px; height:clamp(220px,42vw,460px); box-shadow:0 14px 40px rgba(111,77,89,.14)}
.look-hero img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease}
.look-hero:hover img{transform:scale(1.04)}
.mosaic{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.mosaic .tile{margin:0; border-radius:14px; overflow:hidden; aspect-ratio:4/3; background:#fff}
.mosaic .tile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease}
.mosaic .tile:hover img{transform:scale(1.06)}
@media(max-width:760px){.mosaic{grid-template-columns:repeat(2,1fr); gap:10px}}
@media(max-width:460px){.mosaic{grid-template-columns:1fr}}
