:root{
      --bg:#ffffff;
      --text:#141414;
      --muted:#6c6c6c;
      --accent:#111111;
      --promo:#f1e3c5;
      --border-soft:#e4dfd5;
      --soft:#f4f1e8;
      --soft2:#fbf8f2;
      --shadow:0 22px 60px rgba(0,0,0,.10);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    body{
      font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background: var(--bg);
      color: var(--text);
    }
    a{text-decoration:none;color:inherit}
    button{font-family:inherit}
    img{max-width:100%}
    .sr-only{
      position:absolute !important;
      width:1px;height:1px;
      padding:0;margin:-1px;
      overflow:hidden;clip:rect(0,0,0,0);
      white-space:nowrap;border:0;
    }

    /* ===== HEADER ===== */
    header.kiela-header{
      border-bottom: 1px solid var(--border-soft);
      background: var(--bg);
      position: sticky;
      top: 0;
      z-index: 80;
    }

    .kiela-main{
      max-width: 1360px;
      margin: 0 auto;
      padding: 26px 40px 20px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:32px;
      background:#fff;
    }

    .kiela-logo{
      font-size: 28px;
      font-weight: 650;
      letter-spacing: .28em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .kiela-nav{
      flex: 1;
      display:flex;
      justify-content:center;
      gap: 34px;
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: .14em;
    }
    .kiela-nav a{
      position:relative;
      padding-bottom:6px;
      opacity:.95;
    }
    .kiela-nav a::after{
      content:"";
      position:absolute;
      left:0;bottom:0;
      width:0;height:1px;
      background: var(--accent);
      transition: width .18s ease;
    }
    .kiela-nav a:hover::after{width:100%}

    .kiela-right{
      display:flex;
      align-items:center;
      gap:18px;
      white-space:nowrap;
      position:relative;
    }
    .kiela-icon-group{
      display:flex;
      align-items:center;
      gap:10px;
    }

    .icon-btn{
      width:40px;height:40px;
      border-radius:8px;
      border:1px solid var(--border-soft);
      background:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      transition: background .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease;
      position:relative;
    }
    .icon-btn svg{width:20px;height:20px;stroke: var(--accent);}
    .icon-btn:hover{
      background: var(--accent);
      border-color: var(--accent);
      box-shadow: 0 12px 28px rgba(0,0,0,.18);
      transform: translateY(-1px);
    }
    .icon-btn:hover svg{stroke:#fff;}
    .icon-btn:active{transform:translateY(1px);box-shadow:none;}

    .badge{
      position:absolute;
      top:-6px;right:-6px;
      min-width:18px;height:18px;
      padding:0 5px;
      border-radius:999px;
      background:#111;
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:11px;
      letter-spacing:.02em;
      border:2px solid #fff;
    }

    .kiela-cta{
      border:none;
      border-radius:999px;
      padding:12px 28px;
      background: var(--accent);
      color:#f5e8cf;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      cursor:pointer;
      transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
    }
    .kiela-cta:hover{
      background:#000;
      box-shadow:0 14px 34px rgba(0,0,0,.25);
      transform:translateY(-1px);
    }
    .kiela-cta:active{transform:translateY(1px);box-shadow:none;}

    .kiela-promo{
      background: var(--promo);
      padding:12px 16px;
      text-align:center;
      font-size:15px;
    }
    .kiela-promo strong{font-weight:650;}

    /* ===== PROFILE DROPDOWN ===== */
    .dropdown{
      position:absolute;
      top:54px;
      right:52px; /* около профил бутона */
      width: 250px;
      background:#fff;
      border:1px solid var(--border-soft);
      border-radius:16px;
      box-shadow:0 22px 55px rgba(0,0,0,.14);
      padding:10px;
      display:none;
      z-index:99;
    }
    .dropdown.show{display:block;}
    .dd-head{
      padding:10px 10px 8px;
    }
    .dd-title{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      color:#111;
    }
    .dd-sub{
      margin-top:6px;
      color:var(--muted);
      font-size:14px;
      line-height:1.6;
    }
    .dd-items{
      margin-top:8px;
      border-top:1px solid var(--border-soft);
      padding-top:8px;
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .dd-item{
      width:100%;
      border:none;
      background:#fff;
      border-radius:12px;
      padding:10px 10px;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      transition: background .14s ease, transform .14s ease;
      font-size:14px;
      color:#111;
    }
    .dd-item:hover{background:var(--soft2); transform: translateY(-1px);}
    .dd-item:active{transform: translateY(1px);}
    .dd-muted{color:var(--muted); font-size:13px;}

    /* ===== HERO ===== */
    .carousel-wrapper{
      max-width: 1480px;
      margin: 30px auto 46px;
      padding: 0 40px;
    }

    .kiela-carousel{
      position:relative;
      border-radius: 28px;
      overflow:hidden;
      background:#000;
      height: 680px;
      box-shadow: var(--shadow);
    }

    .kc-track{position:relative;width:100%;height:100%;}
    .kc-slide{
      position:absolute; inset:0;
      opacity:0;
      transform: translateX(6%);
      transition: opacity .55s ease, transform .65s ease;
      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;
    }
    .kc-slide--active{opacity:1;transform: translateX(0);}

    .kc-overlay{
      position:absolute; inset:0;
      background:linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.10));
    }

    .kc-content{
      position:absolute; inset:0;
      padding:64px 70px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      color:#fff;
    }

    .kc-top{max-width: 620px;}
    .kc-eyebrow{
      font-size:13px;
      letter-spacing:.26em;
      text-transform:uppercase;
      opacity:.92;
    }
    .kc-title{
      margin-top:18px;
      font-size:46px;
      line-height:1.12;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .kc-sub{
      margin-top:16px;
      font-size:17px;
      line-height:1.65;
      opacity:.92;
      max-width: 560px;
    }

    .kc-cta-row{
      margin-top:30px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .kc-btn-primary{
      border:none;
      border-radius:999px;
      padding:13px 30px;
      background:#f5e3bf;
      color:#111;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      cursor:pointer;
      transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
    }
    .kc-btn-primary:hover{
      background:#fff;
      box-shadow:0 12px 26px rgba(0,0,0,.35);
      transform:translateY(-1px);
    }
    .kc-btn-primary:active{transform:translateY(1px);box-shadow:none;}

    .kc-btn-ghost{
      border-radius:999px;
      padding:13px 24px;
      border:1px solid rgba(255,255,255,.75);
      background:transparent;
      color:#fff;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      cursor:pointer;
      transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
    }
    .kc-btn-ghost:hover{
      background:rgba(255,255,255,.10);
      border-color:#fff;
      transform:translateY(-1px);
    }
    .kc-btn-ghost:active{transform:translateY(1px);}

    .kc-meta{
      font-size:13px;
      opacity:.92;
      letter-spacing:.02em;
    }

    .kc-arrow{
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:44px;height:44px;
      border-radius:999px;
      border:none;
      background:rgba(255,255,255,.92);
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      box-shadow:0 14px 34px rgba(0,0,0,.38);
      transition:background .16s ease, transform .16s ease, box-shadow .16s ease, opacity .16s ease;
      z-index:2;
    }
    .kc-arrow svg{width:19px;height:19px;stroke:#111;}
    .kc-arrow--left{left:22px;}
    .kc-arrow--right{right:22px;}
    .kc-arrow:hover{
      background:#111;
      box-shadow:0 16px 38px rgba(0,0,0,.45);
      transform:translateY(-50%) translateY(-1px);
    }
    .kc-arrow:hover svg{stroke:#fff;}
    .kc-arrow:active{
      transform:translateY(-50%) translateY(1px);
      box-shadow:none;
      opacity:0.95;
    }

    .kc-dots{
      position:absolute;
      left:50%;
      bottom:24px;
      transform:translateX(-50%);
      display:flex;
      gap:10px;
      z-index:2;
    }
    .kc-dot{
      width:9px;height:9px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.75);
      background:transparent;
      cursor:pointer;
      opacity:.82;
      transition:background .16s ease,transform .16s ease,border-color .16s ease,opacity .16s ease;
    }
    .kc-dot--active{
      background:#fff;
      border-color:#fff;
      transform:scale(1.18);
      opacity:1;
    }

    /* ===== SECTIONS ===== */
    .section{
      max-width: 1360px;
      margin: 0 auto;
      padding: 0 40px;
    }
    .section + .section{margin-top:64px;}

    .sec-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:22px;
    }
    .sec-title{
      font-size:18px;
      text-transform:uppercase;
      letter-spacing:.18em;
    }
    .sec-sub{
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
      max-width:680px;
      margin-top:10px;
    }

    /* Reasons */
    .info-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:18px;
    }
    .info-card{
      border:1px solid var(--border-soft);
      border-radius:20px;
      padding:18px 18px 20px;
      background:#fff;
      display:flex;
      gap:14px;
      align-items:flex-start;
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
      box-shadow: 0 10px 30px rgba(0,0,0,.04);
    }
    .info-card:hover{
      transform:translateY(-2px);
      box-shadow:0 22px 55px rgba(0,0,0,.08);
      border-color:#d8d2c8;
    }
    .info-ico{
      width:40px;height:40px;
      border-radius:12px;
      border:1px solid var(--border-soft);
      display:flex;
      align-items:center;
      justify-content:center;
      background:#fff;
      flex:0 0 auto;
    }
    .info-ico svg{width:19px;height:19px;stroke:#111;}
    .info-card h3{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      margin-bottom:6px;
    }
    .info-card p{
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
    }

    /* Category tiles */
    .tile-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:18px;
    }
    .tile{
      border-radius:24px;
      overflow:hidden;
      border:1px solid var(--border-soft);
      background:#000;
      position:relative;
      min-height:300px;
      display:flex;
      align-items:flex-end;
      cursor:pointer;
      transition: transform .18s ease, box-shadow .18s ease;
      box-shadow: 0 14px 40px rgba(0,0,0,.08);
    }
    .tile:hover{
      transform:translateY(-2px);
      box-shadow:0 24px 65px rgba(0,0,0,.16);
    }
    .tile::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.76));
      z-index:1;
    }
    .tile-bg{
      position:absolute; inset:0;
      background-size:cover;
      background-position:center;
      transform:scale(1.04);
      transition: transform .35s ease;
    }
    .tile:hover .tile-bg{transform:scale(1.10);}
    .tile-content{
      position:relative;
      padding:20px 20px 18px;
      color:#fff;
      width:100%;
      z-index:2;
    }
    .tile-kicker{
      font-size:11px;
      letter-spacing:.22em;
      text-transform:uppercase;
      opacity:.92;
    }
    .tile-title{
      margin-top:9px;
      font-size:20px;
      letter-spacing:.08em;
      text-transform:uppercase;
      line-height:1.2;
    }
    .tile-cta{
      margin-top:12px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      opacity:.95;
    }

    /* ===== DISCOVERY STRIP ===== */
    .discovery{
      border:1px solid var(--border-soft);
      border-radius:26px;
      overflow:hidden;
      background: linear-gradient(90deg, #fff, var(--soft2));
      box-shadow:0 18px 55px rgba(0,0,0,.08);
      display:grid;
      grid-template-columns: 1.3fr .7fr;
      align-items:stretch;
    }
    .discovery-left{
      padding:26px 24px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .discovery-kicker{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      color:#111;
    }
    .discovery-title{
      font-size:24px;
      letter-spacing:.08em;
      text-transform:uppercase;
      line-height:1.2;
    }
    .discovery-desc{
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
      max-width: 720px;
    }
    .discovery-bullets{
      margin-top:6px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .chip{
      border:1px solid var(--border-soft);
      border-radius:999px;
      padding:10px 12px;
      background:#fff;
      font-size:13px;
      color:#222;
    }
    .discovery-right{
      padding:26px 24px;
      border-left:1px solid var(--border-soft);
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:10px;
      background:rgba(255,255,255,.55);
    }
    .disc-price{
      font-size:13px;
      color:#555;
    }
    .disc-price strong{
      display:block;
      margin-top:6px;
      font-size:22px;
      color:#111;
      letter-spacing:.04em;
    }
    .disc-btn{
      border:none;
      border-radius:999px;
      padding:12px 16px;
      background:#111;
      color:#f5e8cf;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      cursor:pointer;
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
      width:100%;
    }
    .disc-btn:hover{background:#000;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.14);}
    .disc-btn:active{transform:translateY(1px);box-shadow:none;}
    .disc-secondary{
      border:1px solid var(--border-soft);
      border-radius:999px;
      padding:12px 16px;
      background:#fff;
      color:#111;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      cursor:pointer;
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
      width:100%;
    }
    .disc-secondary:hover{border-color:#111;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.10);}
    .disc-secondary:active{transform:translateY(1px);box-shadow:none;}

    /* ===== MINI STORY ===== */
    .story{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:18px;
      align-items:stretch;
    }
    .story-card{
      border:1px solid var(--border-soft);
      border-radius:26px;
      overflow:hidden;
      background:#fff;
      box-shadow:0 18px 55px rgba(0,0,0,.08);
    }
    .story-media{
      min-height: 360px;
      background:#000;
      position:relative;
    }
    .story-media .bg{
      position:absolute; inset:0;
      background-size:cover;
      background-position:center;
      transform:scale(1.02);
    }
    .story-media::after{
      content:"";
      position:absolute; inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.55));
    }
    .story-body{
      padding:22px 22px 24px;
    }
    .story-kicker{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      color:#111;
    }
    .story-title{
      margin-top:10px;
      font-size:22px;
      letter-spacing:.08em;
      text-transform:uppercase;
      line-height:1.2;
    }
    .story-text{
      margin-top:12px;
      color:var(--muted);
      font-size:15px;
      line-height:1.85;
    }
    .story-actions{
      margin-top:16px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .btn{
      border:none;
      border-radius:999px;
      padding:12px 18px;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      cursor:pointer;
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
    }
    .btn-primary{
      background:#111;
      color:#f5e8cf;
    }
    .btn-primary:hover{background:#000;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.18);}
    .btn-primary:active{transform:translateY(1px);box-shadow:none;}
    .btn-ghost{
      background:#fff;
      color:#111;
      border:1px solid var(--border-soft);
    }
    .btn-ghost:hover{border-color:#111;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.10);}
    .btn-ghost:active{transform:translateY(1px);box-shadow:none;}

    /* ===== PRODUCT GRID (split) ===== */
    .cards-row{
      position:relative;
      display:flex;
      align-items:stretch;
      gap:16px;
    }
    .row-inner{
      flex:1;
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap:22px;
      padding:8px 44px;
      overflow:auto;
      scroll-behavior:smooth;
      scrollbar-width:none;
    }
    .row-inner::-webkit-scrollbar{display:none;}
    .row-arrow{
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:36px;height:36px;
      border-radius:999px;
      border:none;
      background:#111;
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      font-size:18px;
      box-shadow:0 16px 36px rgba(0,0,0,.20);
      transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
      z-index:2;
    }
    .row-arrow:hover{
      background:#000;
      transform:translateY(-50%) translateY(-1px);
      box-shadow:0 22px 50px rgba(0,0,0,.26);
    }
    .row-arrow:active{
      transform:translateY(-50%) translateY(1px);
      box-shadow:none;
    }
    .row-arrow--left{left:0;}
    .row-arrow--right{right:0;}

    .card-actions{
      position:absolute;
      top:10px;
      right:10px;
      display:flex;
      gap:6px;
      z-index:2;
    }
    .action-btn{
      width:32px;
      height:32px;
      border-radius:999px;
      border:none;
      background:rgba(255,255,255,0.95);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:15px;
      cursor:pointer;
      box-shadow:0 8px 18px rgba(0,0,0,0.18);
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, opacity .16s ease;
    }
    .action-btn:hover{
      transform:translateY(-1px) scale(1.05);
      box-shadow:0 12px 26px rgba(0,0,0,0.24);
      background:#111;
      color:#fff;
    }
    .action-btn:active{
      transform:translateY(1px) scale(0.94);
      box-shadow:0 4px 10px rgba(0,0,0,0.25);
      opacity:0.9;
    }

    .product-card-split{text-align:left; cursor:pointer;}
    .split-image-wrap{
      background:var(--soft);
      border-radius:26px;
      padding:8px;
      box-shadow:0 16px 36px rgba(0,0,0,.12);
      margin-bottom:12px;
      position:relative;
      overflow:hidden;
    }
    .split-image-inner{
      aspect-ratio:4/5;
      border-radius:22px;
      overflow:hidden;
    }
    .split-image-inner img{
      width:100%;height:100%;
      object-fit:cover;
      display:block;
      transform:scale(1.01);
    }
    .split-text{padding:0 6px;font-size:14px;}
    .split-name{
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.18em;
      margin-bottom:6px;
    }
    .split-scent{font-size:14px;color:#555;margin-bottom:8px;}
    .split-price{font-size:16px;font-weight:650;}
    .split-rating{font-size:13px;margin:6px 0 0;color:#222;opacity:.9}
    .split-rating span{margin-right:6px;}

    /* ===== REVIEWS (no cards / editorial) ===== */
    .reviews{
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      overflow:visible;
    }
    .reviews-head{
      padding:0 0 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      border-bottom:1px solid var(--border-soft);
      background:transparent;
    }
    .reviews-summary{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
    }
    .reviews-stars{
      letter-spacing:2px;
      font-size:14px;
      color:#111;
      white-space:nowrap;
    }
    .reviews-score{
      font-size:13px;
      color:#444;
      white-space:nowrap;
    }
    .reviews-actions{
      display:flex;
      gap:8px;
    }
    .mini-btn{
      width:42px;height:42px;
      border-radius:999px;
      border:1px solid var(--border-soft);
      background:#fff;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transition: background .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease;
      font-size:18px;
      color:#111;
    }
    .mini-btn:hover{
      background:#111;
      border-color:#111;
      box-shadow:0 14px 30px rgba(0,0,0,.14);
      transform:translateY(-1px);
      color:#fff;
    }
    .mini-btn:active{transform:translateY(1px);box-shadow:none;}

    .reviews-track{
      margin-top:18px;
      padding:0;
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:0;
      background:transparent;
    }
    .rev-card{
      background:transparent;
      border:0;
      border-radius:0;
      padding:0 18px;
      box-shadow:none;
      min-height:auto;
      display:flex;
      flex-direction:column;
    }
    .reviews-track .rev-card + .rev-card{
      border-left:1px solid var(--border-soft);
    }
    .rev-top{
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:12px;
    }
    .rev-quote{
      border:0;
      background:transparent;
      width:auto;height:auto;
      border-radius:0;
      display:block;
      color:#111;
      font-size:34px;
      line-height:1;
    }
    .rev-stars{
      margin-left:auto;
      letter-spacing:2px;
      font-size:12px;
      color:#111;
      white-space:nowrap;
      opacity:.9;
    }
    .rev-text{
      margin-top:14px;
      color:#111;
      font-size:16px;
      line-height:1.85;
    }
    .rev-footer{
      margin-top:16px;
      padding-top:14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      border-top:1px solid #f0ebe2;
    }
    .rev-name{
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width: 220px;
    }
    .rev-loc{
      margin-top:4px;
      color:var(--muted);
      font-size:13px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width: 220px;
    }
    .rev-tag{
      border:0;
      padding:0;
      font-size:13px;
      color:#444;
      background:transparent;
      white-space:nowrap;
      letter-spacing:.02em;
      opacity:.95;
    }

    /* ===== INSTAGRAM GRID ===== */
    .ig-grid{
      display:grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap:12px;
    }
    .ig-tile{
      border-radius:18px;
      overflow:hidden;
      border:1px solid var(--border-soft);
      background:#111;
      aspect-ratio:1/1;
      position:relative;
      cursor:pointer;
      box-shadow:0 14px 40px rgba(0,0,0,.08);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .ig-tile:hover{transform:translateY(-2px); box-shadow:0 24px 65px rgba(0,0,0,.14);}
    .ig-bg{
      position:absolute; inset:0;
      background-size:cover;
      background-position:center;
      transform:scale(1.05);
      transition: transform .35s ease;
      opacity:.92;
    }
    .ig-tile:hover .ig-bg{transform:scale(1.12);}
    .ig-overlay{
      position:absolute; inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55));
      opacity:.9;
    }
    .ig-handle{
      position:absolute;
      left:12px; bottom:12px;
      color:#fff;
      font-size:12px;
      letter-spacing:.14em;
      text-transform:uppercase;
      opacity:.95;
    }

    /* ===== FAQ ===== */
    .faq{
      border:1px solid var(--border-soft);
      border-radius:26px;
      overflow:hidden;
      background:#fff;
      box-shadow:0 18px 55px rgba(0,0,0,.08);
    }
    .faq-item{border-top:1px solid var(--border-soft);}
    .faq-item:first-child{border-top:none;}
    .faq-q{
      width:100%;
      text-align:left;
      background:#fff;
      border:none;
      padding:18px 18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      cursor:pointer;
      font-size:14px;
      letter-spacing:.06em;
    }
    .faq-q strong{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
    }
    .faq-icon{
      width:34px;height:34px;
      border-radius:999px;
      border:1px solid var(--border-soft);
      display:flex;
      align-items:center;
      justify-content:center;
      transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
      flex:0 0 auto;
    }
    .faq-a{
      max-height:0;
      overflow:hidden;
      transition: max-height .22s ease;
      background:var(--soft2);
    }
    .faq-a > div{
      padding:0 18px 18px;
      color:#444;
      font-size:15px;
      line-height:1.75;
    }
    .faq-item.open .faq-a{max-height:260px;}
    .faq-item.open .faq-icon{
      background:#111;
      border-color:#111;
      color:#fff;
      transform:rotate(45deg);
    }

    /* ===== FOOTER ===== */
    .kiela-footer{
      border-top:1px solid var(--border-soft);
      background:#fff;
      margin-top:80px;
    }
    .kf-wrap{
      max-width:1360px;
      margin:0 auto;
      padding:52px 40px 18px;
    }
    .kf-top{
      display:grid;
      grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
      gap:28px;
      padding-bottom:28px;
      border-bottom:1px solid var(--border-soft);
    }
    .kf-brand{max-width:420px;}
    .kf-logo{
      font-size:18px;
      letter-spacing:.28em;
      text-transform:uppercase;
      font-weight:650;
    }
    .kf-text{
      margin-top:14px;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }
    .kf-col h4{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
      margin-bottom:14px;
      color:#222;
    }
    .kf-links{
      display:flex;
      flex-direction:column;
      gap:10px;
      font-size:15px;
      color:var(--muted);
    }
    .kf-links a{
      width:fit-content;
      position:relative;
      padding-bottom:2px;
    }
    .kf-links a::after{
      content:"";
      position:absolute;
      left:0;bottom:0;
      width:0;height:1px;
      background: var(--accent);
      transition: width .18s ease;
    }
    .kf-links a:hover{color:#111;}
    .kf-links a:hover::after{width:100%;}

    .kf-newsletter{
      display:flex;
      gap:10px;
      margin-top:10px;
    }
    .kf-input{
      flex:1;
      height:44px;
      border-radius:999px;
      border:1px solid var(--border-soft);
      padding:0 16px;
      font-size:14px;
      outline:none;
    }
    .kf-input:focus{border-color:#111;}
    .kf-btn{
      height:44px;
      border:none;
      border-radius:999px;
      padding:0 18px;
      background:#111;
      color:#f5e8cf;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.14em;
      cursor:pointer;
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
    }
    .kf-btn:hover{
      background:#000;
      box-shadow:0 12px 24px rgba(0,0,0,.18);
      transform:translateY(-1px);
    }
    .kf-btn:active{transform:translateY(1px);box-shadow:none;}

    .kf-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding-top:16px;
      color:var(--muted);
      font-size:13px;
    }
    .kf-badges{display:flex;gap:8px;flex-wrap:wrap;}
    .kf-badge{
      border:1px solid var(--border-soft);
      border-radius:999px;
      padding:7px 10px;
      font-size:12px;
      color:#444;
      background:#fff;
    }

    /* ===== MODAL (Quick view) ===== */
    .modal-backdrop{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.55);
      display:none;
      align-items:center;
      justify-content:center;
      padding:20px;
      z-index:120;
    }
    .modal-backdrop.show{display:flex;}
    .modal{
      width:min(980px, 100%);
      border-radius:26px;
      background:#fff;
      overflow:hidden;
      box-shadow:0 28px 70px rgba(0,0,0,.35);
      transform:translateY(8px);
      opacity:0;
      transition: transform .18s ease, opacity .18s ease;
      position:relative;
    }
    .modal-backdrop.show .modal{transform:translateY(0);opacity:1;}
    .modal-grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:0;
    }
    .modal-media{
      background:var(--soft);
      padding:18px;
    }
    .modal-media .img{
      border-radius:18px;
      overflow:hidden;
      aspect-ratio:4/5;
      background:#ddd;
    }
    .modal-media img{width:100%;height:100%;object-fit:cover;display:block;}
    .modal-body{
      padding:18px 18px 16px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .modal-title{
      font-size:14px;
      text-transform:uppercase;
      letter-spacing:.18em;
    }
    .modal-desc{color:#555;font-size:15px;line-height:1.7;}
    .modal-meta{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      color:#444;
      font-size:13px;
    }
    .pill{
      border:1px solid var(--border-soft);
      border-radius:999px;
      padding:8px 10px;
      background:#fff;
    }
    .modal-actions{
      margin-top:auto;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .modal-close{
      width:42px;height:42px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.35);
      background:rgba(0,0,0,.35);
      color:#fff;
      position:absolute;
      top:12px;left:12px;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transition: background .16s ease, transform .16s ease;
      z-index:3;
    }
    .modal-close:hover{background:rgba(0,0,0,.55);transform:translateY(-1px);}
    .modal-close:active{transform:translateY(1px);}

    /* ===== CART DRAWER ===== */
    .drawer-backdrop{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.45);
      display:none;
      z-index:140;
    }
    .drawer-backdrop.show{display:block;}
    .drawer{
      position:fixed;
      top:0; right:0;
      width:min(420px, 92vw);
      height:100vh;
      background:#fff;
      border-left:1px solid var(--border-soft);
      box-shadow:-18px 0 60px rgba(0,0,0,.18);
      transform:translateX(100%);
      transition: transform .2s ease;
      z-index:150;
      display:flex;
      flex-direction:column;
    }
    .drawer.show{transform:translateX(0);}
    .drawer-head{
      padding:18px 18px 14px;
      border-bottom:1px solid var(--border-soft);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .drawer-title{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.18em;
    }
    .drawer-close{
      width:42px;height:42px;
      border-radius:999px;
      border:1px solid var(--border-soft);
      background:#fff;
      cursor:pointer;
      transition: background .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease;
      font-size:18px;
    }
    .drawer-close:hover{
      background:#111;
      border-color:#111;
      box-shadow:0 14px 30px rgba(0,0,0,.14);
      transform:translateY(-1px);
      color:#fff;
    }
    .drawer-close:active{transform:translateY(1px);box-shadow:none;}

    .drawer-body{
      padding:14px 18px;
      overflow:auto;
      flex:1;
      background:var(--soft2);
    }
    .empty{
      padding:18px;
      border:1px dashed #d9d2c8;
      border-radius:18px;
      background:#fff;
      color:#555;
      line-height:1.7;
      font-size:15px;
    }

    .cart-item{
      display:grid;
      grid-template-columns: 82px 1fr;
      gap:12px;
      padding:12px;
      border:1px solid var(--border-soft);
      border-radius:18px;
      background:#fff;
      box-shadow:0 12px 26px rgba(0,0,0,.06);
    }
    .cart-item + .cart-item{margin-top:12px;}
    .cart-img{
      width:82px;height:100px;
      border-radius:14px;
      overflow:hidden;
      background:var(--soft);
      border:1px solid #efe9df;
    }
    .cart-img img{width:100%;height:100%;object-fit:cover;display:block;}
    .cart-info{min-width:0;}
    .cart-name{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      line-height:1.35;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .cart-scent{
      margin-top:6px;
      color:var(--muted);
      font-size:14px;
      line-height:1.5;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .cart-row{
      margin-top:10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .cart-price{
      font-size:15px;
      font-weight:650;
    }
    .qty{
      display:flex;
      align-items:center;
      gap:8px;
    }
    .qty-btn{
      width:34px;height:34px;
      border-radius:999px;
      border:1px solid var(--border-soft);
      background:#fff;
      cursor:pointer;
      transition: background .14s ease, transform .14s ease, border-color .14s ease;
      font-size:18px;
      line-height:0;
    }
    .qty-btn:hover{background:#111;border-color:#111;color:#fff;transform:translateY(-1px);}
    .qty-btn:active{transform:translateY(1px);}
    .qty-val{
      min-width:22px;
      text-align:center;
      font-size:14px;
      color:#111;
    }
    .remove{
      border:none;
      background:transparent;
      cursor:pointer;
      color:#666;
      font-size:13px;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .remove:hover{color:#111;}

    .drawer-foot{
      border-top:1px solid var(--border-soft);
      padding:14px 18px 18px;
      background:#fff;
    }
    .total-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:12px;
      color:#111;
      font-size:14px;
    }
    .total-row strong{
      font-size:16px;
      letter-spacing:.02em;
    }
    .checkout-btn{
      width:100%;
      border:none;
      border-radius:999px;
      padding:13px 16px;
      background:#111;
      color:#f5e8cf;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      cursor:pointer;
      transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
    }
    .checkout-btn:hover{background:#000;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.14);}
    .checkout-btn:active{transform:translateY(1px);box-shadow:none;}
    .secondary-btn{
      width:100%;
      margin-top:10px;
      border:1px solid var(--border-soft);
      border-radius:999px;
      padding:13px 16px;
      background:#fff;
      color:#111;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.16em;
      cursor:pointer;
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    }
    .secondary-btn:hover{border-color:#111;transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.10);}
    .secondary-btn:active{transform:translateY(1px);box-shadow:none;}

    /* ===== RESPONSIVE ===== */
    @media (max-width:1100px){
      .kiela-main{padding-inline:24px;}
      .carousel-wrapper{padding-inline:24px;}
      .section{padding:0 24px;}
      .kf-wrap{padding:44px 24px 18px;}
      .kiela-carousel{height:560px;}
      .kc-content{padding:44px 44px;}
      .kc-title{font-size:38px;}
      .info-grid{grid-template-columns:1fr;}
      .tile-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
      .row-inner{grid-template-columns: repeat(2, minmax(0, 1fr));}
      .reviews-track{grid-template-columns:1fr;}
      .rev-card{padding:0;}
      .reviews-track .rev-card + .rev-card{
        border-left:0;
        border-top:1px solid var(--border-soft);
        margin-top:16px;
        padding-top:16px;
      }
      .kf-top{grid-template-columns: 1.2fr 1fr 1fr;}
      .kf-col--newsletter{grid-column: 1 / -1;}
      .modal-grid{grid-template-columns:1fr;}
      .modal-close{left:auto;right:12px;}
      .discovery{grid-template-columns:1fr;}
      .discovery-right{border-left:0;border-top:1px solid var(--border-soft);}
      .story{grid-template-columns:1fr;}
      .ig-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
      .dropdown{right:24px; top:54px;}
    }
    @media (max-width:780px){
      .kiela-main{flex-wrap:wrap;row-gap:10px;padding-inline:16px;}
      .kiela-logo{flex:1 0 100%;text-align:center;}
      .kiela-nav{display:none;}
      .kiela-right{margin-left:auto;}
      .kiela-cta{display:none;}

      .carousel-wrapper{padding-inline:16px;}
      .kiela-carousel{height:400px;border-radius:20px;}
      .kc-content{padding:26px 22px;}
      .kc-title{font-size:28px;}
      .kc-sub{font-size:14px;}

      .section{padding:0 16px;}
      .kf-wrap{padding:34px 16px 16px;}
      .kf-top{grid-template-columns: 1fr 1fr;gap:20px;}
      .kf-brand{grid-column: 1 / -1;max-width:none;}
      .kf-col--newsletter{grid-column: 1 / -1;}
      .kf-bottom{flex-direction:column;align-items:flex-start;}
      .row-inner{padding-inline:34px;}
      .dropdown{right:16px; top:104px;}
    }
    @media (max-width:520px){
      .carousel-wrapper{padding-inline:12px;}
      .kiela-carousel{border-radius:16px;height:360px;}
      .kc-title{font-size:24px;}
      .kc-arrow{width:34px;height:34px;}
      .kc-arrow--left{left:10px;}
      .kc-arrow--right{right:10px;}

      .tile-grid{grid-template-columns: 1fr;}
      .row-inner{grid-template-columns: 1fr;padding-inline:30px;}
      .row-arrow{width:32px;height:32px;font-size:16px;}
      .kf-top{grid-template-columns: 1fr;}
      .ig-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
    }


    /* PRODUCT VIEW PAGE */
    /* ===== PRODUCT PAGE ===== */

.product-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}

/* Gallery */
.product-gallery-main{
  width:100%;
  aspect-ratio:3 / 4;     /* ⬅ по-ниско */
  max-height:470px;       /* ⬅ лимит на височината */
  background:#f4f1e8;
  border-radius:20px;
  overflow:hidden;
}

.product-gallery-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.product-gallery-thumbs{
  display:flex;
  gap:10px;
  margin-top:10px;
  flex-wrap:wrap;
}

.product-thumb{
  width:72px;
  aspect-ratio:1 / 1;
  border-radius:14px;
  overflow:hidden;
  border:1px solid #e4dfd5;
  background:#fff;
  cursor:pointer;
}

.product-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.product-thumb.is-active{
  outline:2px solid #111;
  outline-offset:-2px;
}

/* Info */
.product-brand{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  color:#6c6c6c;
}

.product-title{
  margin-top:10px;
  font-size:28px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.product-meta{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:#6c6c6c;
  font-size:13px;
}

.product-rating span:first-child{
  font-weight:700;
  color:#111;
}

.product-description{
  margin-top:14px;
  color:#6c6c6c;
  line-height:1.8;
}

.product-price{
  margin-top:14px;
  font-weight:800;
  font-size:22px;
}

.product-actions{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.qty-control{
  display:flex;
  align-items:center;
  border:1px solid #e4dfd5;
  border-radius:999px;
  overflow:hidden;
  height:44px;
}

.qty-control button{
  width:44px;
  height:44px;
  border:0;
  background:#fff;
  cursor:pointer;
}

.qty-control div{
  min-width:44px;
  text-align:center;
  font-weight:700;
}
