/* Шрифт обложки — Nyght Serif (лицензия OFL, файл лицензии рядом в assets/fonts) */
@font-face{
  font-family:'Nyght Serif';
  src:url('fonts/NyghtSerif-Regular.otf') format('opentype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Nyght Serif';
  src:url('fonts/NyghtSerif-LightItalic.otf') format('opentype');
  font-weight:300;font-style:italic;font-display:swap;
}

:root{
  --honey:#FCF8F6;
  --honey-2:#F3E9F4;
  --gold:#C58BD9;
  --gold-deep:#6A35A8;
  --amber:#A9479D;
  --ink:#2A1A33;
  --ink-soft:#76677E;
  --line: rgba(106,53,168,0.13);
  --cream-card:#FFFFFF;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--honey);font-family:'Jost',sans-serif;color:var(--ink);}
a{color:inherit;}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
@media (max-width:860px){.wrap{padding:0 20px;}}

/* ---- SITE NAV ---- */
/* Desktop (default): logo centered on top, labeled menu centered below it, no hamburger */
.site-nav{
  position:sticky;top:0;z-index:100;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:20px 32px 16px;background:var(--cream-card);border-bottom:1px solid var(--line);
  text-align:center;
}
.site-nav .logo{
  font-family:'Forum',serif;font-size:22px;letter-spacing:0.08em;text-transform:uppercase;
  text-decoration:none;color:var(--ink);
}
.hamburger-btn{
  display:none;width:40px;height:40px;background:none;border:none;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;
}
.hamburger-btn span{display:block;width:22px;height:2px;background:var(--ink);transition:.25s ease;}
.hamburger-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger-btn.active span:nth-child(2){opacity:0;}
.hamburger-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mega-menu{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 30px;
}
.mega-menu a{
  font-family:'Jost',sans-serif;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink-soft);
  letter-spacing:0.03em;text-transform:uppercase;transition:.2s;white-space:nowrap;
  padding-bottom:3px;border-bottom:1px solid transparent;
}
.mega-menu a:hover, .mega-menu a.current{color:var(--gold-deep);border-bottom-color:var(--gold-deep);}

/* Mobile/tablet: hamburger + fullscreen overlay menu */
@media (max-width:860px){
  .site-nav{
    display:grid;grid-template-columns:40px 1fr 40px;align-items:center;
    padding:14px 18px;
  }
  .site-nav .logo{grid-column:2;text-align:center;font-size:19px;}
  .hamburger-btn{display:flex;grid-column:1;}

  .mega-menu{
    position:fixed;inset:0;z-index:99;background:var(--honey);
    flex-direction:column;flex-wrap:nowrap;justify-content:center;gap:22px;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s;
  }
  .mega-menu.open{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-menu a{
    font-family:'Forum',serif;font-size:24px;font-weight:500;text-transform:none;letter-spacing:0.02em;
    color:var(--ink);white-space:normal;border-bottom:none;
  }
  .mega-menu a.current::after{content:'';display:block;width:26px;height:2px;background:var(--gold-deep);margin:8px auto 0;}
}
@media (max-width:640px){
  .mega-menu a{font-size:21px;}
  .mega-menu{gap:20px;}
}

/* ---- BREADCRUMB ---- */
.breadcrumb{font-size:12.5px;color:var(--ink-soft);padding:16px 0 0;}
.breadcrumb a{text-decoration:none;color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--gold-deep);}
.breadcrumb .sep{margin:0 6px;opacity:.6;}
.breadcrumb .current{color:var(--gold-deep);font-weight:600;}

/* ---- PAGE HERO ---- */
.page-hero{padding:26px 0 40px;text-align:center;}
.page-hero-icon{
  width:64px;height:64px;margin:0 auto 18px;border-radius:50%;
  background:var(--cream-card);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.page-hero-icon svg{width:30px;height:30px;stroke:var(--gold-deep);fill:none;stroke-width:1.5;}
.page-hero h1{font-family:'Forum',serif;font-size:34px;font-weight:500;margin:0 0 12px;}
.page-hero p{color:var(--ink-soft);font-size:16px;max-width:560px;margin:0 auto;line-height:1.6;}

/* ---- PRODUCT GRID ---- */
.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px;padding:10px 0 28px;}
.product-card{
  position:relative;display:flex;flex-direction:column;min-width:0;
  text-decoration:none;color:var(--ink);background:transparent;
}
.product-card img{
  width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:14px;
  background:var(--honey-2);transition:transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.product-card:hover img{transform:translateY(-3px);box-shadow:0 18px 34px rgba(30,27,25,0.14);}
.product-card.out-of-stock{opacity:.5;}
.product-info{position:relative;display:flex;flex-direction:column;flex:1;padding:16px 2px 0;}
.product-title{
  margin:0 0 6px;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.product-keywords{margin:0 0 8px;font-size:11.5px;color:var(--gold-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.product-keywords span + span::before{content:' · ';color:var(--ink-soft);opacity:.6;}
.product-desc{
  margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.product-price{
  margin-top:auto;min-height:40px;display:flex;align-items:center;flex-wrap:wrap;gap:0 6px;
  padding-right:50px;font-size:15px;font-weight:600;color:var(--ink);letter-spacing:0.01em;
}
.product-price s{font-size:12.5px;font-weight:400;color:var(--ink-soft);}
@media (max-width:640px){
  .result-grid{gap:30px 14px;}
  .product-info{padding-top:12px;}
  .product-title{font-size:11px;letter-spacing:0.08em;}
  .product-keywords{font-size:11px;margin-bottom:6px;}
  .product-desc{font-size:12.5px;margin-bottom:10px;}
  .product-price{font-size:14.5px;padding-right:44px;min-height:36px;}
}
.stock-badge{
  position:absolute;top:10px;left:10px;z-index:2;background:rgba(30,27,25,0.8);color:#fff;
  font-size:10.5px;padding:4px 9px;border-radius:20px;letter-spacing:0.04em;
}
.fav-btn{
  position:absolute;top:10px;right:10px;z-index:2;
  width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(255,255,255,0.92);display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(30,27,25,0.08);transition:.2s;
}
.fav-btn:hover{transform:scale(1.08);}
.fav-btn svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.7;transition:.2s;}
.fav-btn.active svg{fill:var(--gold-deep);stroke:var(--gold-deep);}
@media (max-width:860px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ---- BUTTONS ---- */
.cta-quiz{
  text-align:center;background:var(--cream-card);border:1px solid var(--line);border-radius:18px;
  padding:34px 24px;margin:20px 0 50px;
}
.cta-quiz p{margin:0 0 16px;color:var(--ink-soft);font-size:15px;}
.btn{
  display:inline-block;padding:14px 32px;font-size:13.5px;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;
  border-radius:40px;font-weight:500;transition:.25s ease;border:none;cursor:pointer;font-family:'Jost',sans-serif;
}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:var(--gold-deep);}
.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink);}
.btn-outline:hover,.btn-outline.active{background:var(--ink);color:#fff;}

/* ---- RELATED SPHERES / TILES ---- */
.related{padding:0 0 70px;}
.related h3{font-family:'Forum',serif;font-size:22px;font-weight:500;text-align:center;margin:0 0 22px;}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.related-tile{
  background:var(--cream-card);border:1px solid var(--line);border-radius:10px;
  padding:16px 10px;text-align:center;text-decoration:none;color:var(--ink);transition:.2s;
}
.related-tile:hover{border-color:var(--gold);background:var(--honey-2);transform:translateY(-2px);}
.related-tile .r-icon{
  width:34px;height:34px;margin:0 auto 8px;border-radius:50%;background:var(--honey-2);
  display:flex;align-items:center;justify-content:center;
}
.related-tile:hover .r-icon{background:#FFFFFF;}
.related-tile .r-icon svg{width:16px;height:16px;stroke:var(--gold-deep);fill:none;stroke-width:1.6;}
.related-tile span{font-size:12.5px;font-weight:600;}
@media (max-width:860px){.related-grid{grid-template-columns:repeat(2,1fr);}}

/* ---- CATALOG TOOLBAR ---- */
.catalog-toolbar{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;
  background:var(--cream-card);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;margin:20px 0 22px;
}
.catalog-toolbar input[type="text"], .catalog-toolbar select{
  font-family:'Jost',sans-serif;font-size:13.5px;color:var(--ink);
  background:#FFFFFF;border:1px solid var(--line);border-radius:8px;padding:9px 12px;
}
.catalog-toolbar input[type="text"]{flex:1 1 200px;min-width:160px;}
.catalog-toolbar select{flex:0 0 auto;}
.catalog-count{font-size:13px;color:var(--ink-soft);margin:0 0 16px;}
.load-more-wrap{text-align:center;margin:30px 0 60px;}

/* ---- PAGINATION ---- */
.pagination{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  margin:36px 0 60px;text-align:center;
}
.pagination .page-total{font-size:12.5px;color:var(--ink-soft);letter-spacing:0.03em;}
.pagination .page-buttons{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.page-btn{
  min-width:36px;height:36px;padding:0 10px;border-radius:10px;
  background:var(--cream-card);border:1px solid var(--line);color:var(--ink-soft);
  font-family:'Jost',sans-serif;font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;
}
.page-btn:hover:not([disabled]){border-color:var(--gold);color:var(--gold-deep);background:var(--honey-2);}
.page-btn.active{background:var(--gold-deep);border-color:var(--gold-deep);color:#FFFBF1;}
.page-btn[disabled]{opacity:.35;cursor:default;}
.page-ellipsis{color:var(--ink-soft);font-size:13px;padding:0 2px;}

/* ---- PROSE PAGES (about / policy / oferta) ---- */
.prose{max-width:760px;margin:0 auto;padding:10px 0 60px;font-size:15.5px;line-height:1.75;}
.prose h1{font-family:'Forum',serif;font-size:32px;font-weight:500;margin:10px 0 22px;text-align:center;}
.prose h2{font-family:'Forum',serif;font-size:21px;font-weight:500;margin:34px 0 12px;}
.prose p{margin:0 0 16px;color:var(--ink);}
.prose .lead{font-size:17px;color:var(--ink-soft);text-align:center;margin-bottom:34px;}
.prose ul{padding-left:20px;margin:0 0 16px;}
.prose li{margin-bottom:8px;}
.prose .signature{margin-top:10px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.prose .note{
  background:var(--cream-card);border:1px solid var(--line);border-radius:10px;
  padding:16px 18px;font-size:13.5px;color:var(--ink-soft);margin:24px 0;
}
.about-photo{
  width:100%;max-width:420px;display:block;margin:0 auto 30px;border-radius:14px;
  aspect-ratio:4/5;object-fit:cover;background:var(--cream-card);border:1px solid var(--line);
}

/* ---- CONTACTS ---- */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:20px 0 50px;}
.contact-card{
  background:var(--cream-card);border:1px solid var(--line);border-radius:12px;padding:24px;
}
.contact-card h3{font-family:'Forum',serif;font-size:18px;font-weight:500;margin:0 0 10px;}
.contact-card p{margin:0 0 6px;color:var(--ink-soft);font-size:14.5px;}
.contact-card a{color:var(--gold-deep);text-decoration:none;font-weight:600;}
@media (max-width:640px){.contact-grid{grid-template-columns:1fr;}}

/* ---- SPHERE TILES (shop by intention) ---- */
.sphere-section{padding:30px 0 44px;}
.sphere-head{text-align:center;max-width:600px;margin:0 auto 30px;}
.sphere-head span{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.sphere-head h2{font-family:'Forum',serif;font-size:28px;font-weight:500;margin:8px 0 8px;}
.sphere-head p{color:var(--ink-soft);font-size:14.5px;}

.sphere-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.sphere-tile{
  background:var(--cream-card);border:1px solid var(--line);border-radius:12px;
  padding:22px 14px;text-align:center;cursor:pointer;transition:.2s;text-decoration:none;display:block;
}
.sphere-tile:hover{border-color:var(--gold);background:var(--honey-2);transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(58,44,24,0.1);}
.sphere-icon{
  width:46px;height:46px;margin:0 auto 12px;border-radius:50%;
  background:var(--honey-2);display:flex;align-items:center;justify-content:center;
}
.sphere-tile:hover .sphere-icon{background:#FFFFFF;}
.sphere-icon svg{width:22px;height:22px;stroke:var(--gold-deep);fill:none;stroke-width:1.6;}
.sphere-label{font-size:13.5px;font-weight:600;color:var(--ink);display:block;}

@media (max-width:860px){
  .sphere-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---- PRODUCT DETAIL PAGE ---- */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:20px 0 30px;align-items:start;}
.product-detail-photo{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;
  background:var(--cream-card);border:1px solid var(--line);
}
.product-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.product-thumb{
  width:64px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer;
  border:2px solid transparent;opacity:.7;transition:.2s;
}
.product-thumb:hover{opacity:1;}
.product-thumb.active{border-color:var(--gold-deep);opacity:1;}
.product-detail-info .stock-badge{position:static;display:inline-block;margin-bottom:12px;}
.product-detail-info h1{
  font-family:'Forum',serif;font-size:26px;font-weight:500;margin:0 0 6px;
  text-transform:uppercase;letter-spacing:0.02em;
}
.product-detail-mineral{font-size:13px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.06em;margin:0 0 18px;}
.product-detail-price{font-family:'Forum',serif;font-size:30px;color:var(--gold-deep);margin:0 0 22px;}
.product-detail-desc{
  font-size:15px;line-height:1.75;color:var(--ink);margin:0 0 24px;
  background:var(--cream-card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;
}
.product-detail-desc br{content:'';display:block;margin:6px 0;}
.product-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 26px;font-size:13.5px;}
.product-detail-facts div{background:var(--cream-card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;}
.product-detail-facts b{display:block;color:var(--gold-deep);font-size:11.5px;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:3px;}
.product-detail-cta{display:flex;gap:12px;flex-wrap:wrap;}
.product-not-found{text-align:center;padding:80px 20px;}
@media (max-width:760px){
  .product-detail{grid-template-columns:1fr;gap:22px;}
}

/* ---- FOOTER ---- */
.site-footer{
  background:var(--cream-card);border-top:1px solid var(--line);padding:30px 0;
  text-align:center;font-size:12.5px;color:var(--ink-soft);
}
.site-footer .foot-links{margin-top:10px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.site-footer .foot-links a{color:var(--ink-soft);text-decoration:none;}
.site-footer .foot-links a:hover{color:var(--gold-deep);}

.product-detail-price s{font-size:.6em;color:var(--ink-soft);}
.product-detail-unique{margin:-14px 0 18px;font-size:13px;color:var(--gold-deep);font-weight:600;}
.product-detail-help{margin:14px 0 0;font-size:13.5px;color:var(--ink-soft);}
.product-detail-help a{color:var(--gold-deep);font-weight:600;}

/* ---- CART ICON IN HEADER ---- */
.nav-cart{
  position:absolute;right:32px;top:20px;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;transition:.2s;
}
.nav-cart:hover{background:var(--honey-2);}
.nav-cart svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linejoin:round;}
.cart-count-badge{
  position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--gold-deep);color:#FFFBF1;font-size:10.5px;font-weight:700;
  display:none;align-items:center;justify-content:center;font-family:'Jost',sans-serif;
}
.mega-menu a.gh-link{color:var(--gold-deep);}
.mega-menu a.gh-link::before{content:'✦ ';}
@media (max-width:860px){
  .nav-cart{position:relative;right:auto;top:auto;grid-column:3;justify-self:end;}
}

/* ---- ADD TO CART BUTTON ON CARDS ---- */
.cart-btn{
  position:absolute;right:0;bottom:0;width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid var(--ink);background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;gap:8px;transition:.25s ease;
  font-family:'Jost',sans-serif;font-size:12.5px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;
}
.cart-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.cart-btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);}
.cart-btn.in-cart{background:#fff;color:var(--ink);}
.cart-btn-sold{background:var(--honey-2);border-color:transparent;color:var(--ink-soft);cursor:default;}
@media (max-width:640px){.cart-btn{width:36px;height:36px;}.cart-btn svg{width:16px;height:16px;}}
/* широкая кнопка с текстом — для Золотого часа */
.cart-btn.cart-btn-full{position:static;width:100%;height:auto;border-radius:40px;padding:13px 12px;margin-top:4px;}

/* ---- TOAST ---- */
.cart-toast{
  position:fixed;left:50%;bottom:20px;transform:translate(-50%,160px);z-index:200;
  display:flex;gap:14px;align-items:center;max-width:calc(100% - 32px);
  background:var(--ink);color:#FFF6E2;padding:12px 16px;border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);font-size:13.5px;transition:transform .3s ease;
}
.cart-toast.show{transform:translate(-50%,0);}
.cart-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cart-toast a{color:var(--amber);font-weight:700;text-decoration:none;white-space:nowrap;}

/* ---- CART PAGE ---- */
.cart-empty{text-align:center;padding:40px 20px 80px;}
.cart-empty p{color:var(--ink-soft);margin:0 0 20px;}
.cart-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:start;padding-bottom:60px;}
.cart-items{display:flex;flex-direction:column;gap:12px;}
.cart-item{
  position:relative;display:grid;grid-template-columns:84px 1fr;gap:14px;
  background:var(--cream-card);border:1px solid var(--line);border-radius:12px;padding:12px 40px 12px 12px;
}
.cart-item img{width:84px;height:84px;object-fit:cover;border-radius:8px;background:var(--honey-2);}
.cart-item-title{margin:0 0 4px;font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:0.02em;}
.cart-item-price{margin:4px 0 8px;color:var(--gold-deep);font-weight:700;}
.cart-item-price s{color:var(--ink-soft);font-weight:400;}
.gh-tag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;color:#FFFBF1;background:var(--gold-deep);border-radius:8px;padding:2px 8px;}
.qty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.qty button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#FFFFFF;cursor:pointer;font-size:16px;color:var(--ink);}
.qty button:disabled{opacity:.35;cursor:default;}
.qty small{color:var(--ink-soft);font-size:11.5px;}
.cart-remove{position:absolute;top:8px;right:10px;border:none;background:none;font-size:22px;color:var(--ink-soft);cursor:pointer;}
.cart-total-row{text-align:right;font-size:18px;margin:18px 4px;}
.cart-total-row b{font-family:'Forum',serif;font-size:26px;color:var(--gold-deep);margin-left:6px;}
.cart-steps{background:var(--cream-card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;font-size:14px;color:var(--ink-soft);}
.cart-steps h3{font-family:'Forum',serif;font-weight:500;font-size:18px;color:var(--ink);margin:0 0 8px;}
.cart-steps ol{margin:0;padding-left:18px;line-height:1.6;}

.checkout{background:var(--cream-card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px;}
.checkout h3{font-family:'Forum',serif;font-weight:500;font-size:22px;margin:0 0 4px;}
.checkout label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink);}
.checkout input[type=text],.checkout input[type=tel],.checkout input[type=email],.checkout textarea{
  font-family:'Jost',sans-serif;font-size:15px;font-weight:400;color:var(--ink);
  background:#FFFFFF;border:1px solid var(--line);border-radius:10px;padding:11px 12px;
}
.checkout input:focus,.checkout textarea:focus{outline:2px solid var(--amber);outline-offset:0;}
.delivery-choice{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.delivery-choice legend{font-size:13px;font-weight:600;margin-bottom:6px;}
.checkout label.radio,.checkout label.consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;}
.checkout label.consent{font-size:12.5px;color:var(--ink-soft);}
.checkout label.consent a{color:var(--gold-deep);}
.radio input,.consent input{margin-top:3px;accent-color:var(--gold-deep);width:17px;height:17px;flex-shrink:0;}
.field-hint{font-size:12px;color:var(--ink-soft);margin:-4px 0 0;}
.form-error{color:#B3261E;font-size:13.5px;margin:0;min-height:1em;}
.checkout-submit{width:100%;font-size:15px;padding:15px;}
.checkout-submit:disabled{opacity:.6;cursor:wait;}

.order-done{padding-bottom:70px;}
.done-card{max-width:620px;margin:0 auto;text-align:center;background:var(--cream-card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;line-height:1.6;}
.done-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--gold-deep);color:#FFFBF1;font-size:28px;display:flex;align-items:center;justify-content:center;}
.done-id{font-size:17px;}
.done-small{font-size:13px;color:var(--ink-soft);}
.done-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px;}
.order-text{width:100%;font-family:'Jost',sans-serif;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#FFFFFF;margin-top:10px;}
@media (max-width:860px){.cart-layout{grid-template-columns:1fr;gap:22px;}}

/* ---- GOLDEN HOUR ---- */
.gh-hero{
  text-align:center;padding:48px 20px 40px;color:#FFFBF1;
  background:radial-gradient(120% 90% at 50% 0%, #E9CF98 0%, #B8924F 42%, #3A2C1C 100%);
}
.gh-hero h1{font-family:'Forum',serif;font-size:46px;font-weight:500;margin:6px 0 8px;text-transform:uppercase;letter-spacing:0.06em;}
.gh-eyebrow{font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;margin:0;opacity:.9;}
.gh-lead{margin:0 0 18px;font-size:16px;}
.gh-timer{font-family:'Forum',serif;font-size:54px;letter-spacing:0.04em;line-height:1;}
.gh-timer-label{margin:6px 0 0;font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;opacity:.85;}
.gh-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;}
.gh-rules div{background:var(--cream-card);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;font-size:13px;color:var(--ink-soft);}
.gh-rules b{display:block;font-family:'Forum',serif;font-size:19px;font-weight:500;color:var(--gold-deep);margin-bottom:4px;}
.gh-state{text-align:center;max-width:600px;margin:10px auto 70px;font-size:15.5px;line-height:1.6;}
.gh-card{cursor:default;}
.gh-card:hover{transform:none;}
.sale-badge{position:absolute;top:8px;left:8px;z-index:2;background:var(--gold-deep);color:#FFFBF1;font-weight:700;font-size:12px;padding:4px 9px;border-radius:10px;}
.sold-overlay{
  position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  background:rgba(253,243,220,0.65);font-family:'Forum',serif;font-size:26px;color:var(--ink);letter-spacing:0.06em;text-transform:uppercase;
}
@media (max-width:640px){
  .gh-hero h1{font-size:34px;}
  .gh-timer{font-size:44px;}
  .gh-rules{gap:8px;margin:16px 0;}
  .gh-rules div{padding:10px 6px;font-size:11px;line-height:1.35;}
  .gh-rules b{font-size:15px;}
}

/* ---- GOLDEN HOUR BANNER (home) ---- */
.gh-banner{display:none;text-decoration:none;color:#FFFBF1;background:linear-gradient(90deg,#3A2C1C,#8C6B3A 45%,#C9A566);}
.gh-banner .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;text-align:center;}
.gh-banner b{font-family:'Forum',serif;font-size:20px;font-weight:500;letter-spacing:0.04em;}
.gh-banner span{font-size:14px;}
.gh-banner em{font-style:normal;font-weight:700;background:rgba(255,251,241,0.2);border-radius:10px;padding:4px 10px;}

/* ---- CART v2: оформление с оплатой ---- */
.cart-hero{padding-bottom:26px;}
.cart-hero p{font-style:italic;font-family:'Forum',serif;font-size:17px;}
.empty-gem{font-size:40px;color:var(--gold);margin-bottom:10px;}
.cart-item{box-shadow:0 2px 10px rgba(58,44,24,0.05);}
.cart-item img{width:92px;height:92px;border-radius:10px;}
.cart-item{grid-template-columns:92px 1fr;}
.qty small.unique{color:var(--gold-deep);font-weight:600;font-size:12px;letter-spacing:0.02em;}
.cart-item .gh-tag{margin-bottom:6px;}

.cart-summary{
  margin:18px 0;background:var(--cream-card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;
  display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-soft);
}
.cart-summary div{display:flex;justify-content:space-between;gap:10px;}
.cart-summary-total{border-top:1px dashed var(--line);padding-top:10px;margin-top:4px;color:var(--ink);font-size:16px;align-items:baseline;}
.cart-summary-total b{font-family:'Forum',serif;font-weight:500;font-size:30px;color:var(--gold-deep);}
.cart-steps ol{list-style:none;padding:0;counter-reset:st;}
.cart-steps li{counter-increment:st;position:relative;padding-left:32px;margin-bottom:10px;}
.cart-steps li::before{
  content:counter(st);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;
  background:var(--honey-2);color:var(--gold-deep);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;
}
.cart-steps b{color:var(--ink);}

.checkout{position:sticky;top:110px;box-shadow:0 12px 34px rgba(58,44,24,0.08);}
.checkout-step{margin:8px 0 0;font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-deep);}
.delivery-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.checkout label.delivery-option{
  flex-direction:row;align-items:flex-start;gap:10px;cursor:pointer;
  background:#FFFFFF;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-weight:400;transition:.2s;
}
.checkout label.delivery-option:has(input:checked){border-color:var(--gold-deep);background:var(--honey-2);}
.delivery-option input{margin-top:3px;accent-color:var(--gold-deep);flex-shrink:0;}
.delivery-option b{display:block;font-size:14px;}
.delivery-option small{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px;}
.checkout-submit{
  margin-top:4px;padding:17px;font-size:16px;letter-spacing:0.03em;border-radius:14px;
  background:var(--ink);box-shadow:0 10px 24px rgba(30,27,25,0.18);
}
.checkout-submit:hover{background:var(--gold-deep);}
.pay-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:2px 0 0;font-size:12px;color:var(--ink-soft);text-align:center;}
.pay-note svg{width:14px;height:14px;stroke:var(--ink-soft);fill:none;stroke-width:1.8;flex-shrink:0;}
.pay-badges{display:flex;justify-content:center;gap:8px;}
.pay-badges span{font-size:10.5px;font-weight:700;letter-spacing:0.06em;color:var(--ink-soft);border:1px solid var(--line);border-radius:6px;padding:3px 8px;background:#FFFFFF;}

.done-card{padding:34px 28px;box-shadow:0 14px 40px rgba(58,44,24,0.08);}
.done-icon{width:64px;height:64px;font-size:28px;background:radial-gradient(circle at 35% 30%,#9C7AAE,#5E3D6E 60%,#3B2447);}
.done-items{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:8px;text-align:left;}
.done-items li{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;background:#FFFFFF;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:13.5px;}
.done-items img{width:44px;height:44px;border-radius:8px;object-fit:cover;}
.done-timeline{text-align:left;padding-left:20px;margin:18px 0 6px;font-size:14.5px;line-height:1.6;}
.done-timeline li{margin-bottom:8px;}
.done-timeline li::marker{color:var(--gold-deep);font-weight:700;}

@media (max-width:860px){
  .checkout{position:static;}
  .delivery-options{grid-template-columns:1fr;}
}

/* =====================================================================
   ТЕМА «АУРА»: жемчужный фон с цветными сияниями, аметист → орхидея → розовое золото
   ===================================================================== */
:root{
  --aura: linear-gradient(115deg, #6A35A8 0%, #A9479D 48%, #E0876A 100%);
  --aura-soft: linear-gradient(115deg, #EFE3FA 0%, #FBE3EE 50%, #FFEBDD 100%);
  --aura-text: linear-gradient(100deg, #4A2170 0%, #8E3A96 55%, #C45F72 100%);
  --sunset: linear-gradient(160deg, #FFE0A3 0%, #F4A97C 35%, #C25C85 70%, #4C2260 100%);
  --glow: 0 10px 28px rgba(122,55,170,0.28);
}
body{
  background:
    radial-gradient(900px 600px at 105% -5%, rgba(183,150,242,0.30), transparent 60%),
    radial-gradient(800px 560px at -10% 35%, rgba(245,165,200,0.22), transparent 60%),
    radial-gradient(900px 620px at 100% 95%, rgba(255,205,160,0.24), transparent 60%),
    #FCF8F6;
  background-attachment:fixed;
}
/* Размытие шапки — на отдельном слое: backdrop-filter на самой шапке запирал полноэкранное меню внутри неё */
.site-nav{background:transparent;}
.site-nav::before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:rgba(255,255,255,0.78);
  -webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);
}
.hamburger-btn{position:relative;z-index:101;}
.site-nav .logo{background:var(--aura-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
@media (max-width:860px){ .mega-menu{background:#FCF8F6;} }

/* Заголовки с переливом */
.page-hero h1, .prose h1, .sphere-head h2, .related h3{
  background:var(--aura-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Кнопки */
.btn-primary, .checkout-submit{
  background:var(--aura);background-size:180% 100%;background-position:0% 50%;color:#fff;
  box-shadow:var(--glow);transition:background-position .6s ease, transform .2s ease, box-shadow .3s ease;
}
.btn-primary:hover, .checkout-submit:hover{background:var(--aura);background-size:180% 100%;background-position:100% 50%;transform:translateY(-1px);}
.btn-outline{border-color:#8E3A96;color:#6A35A8;}
.btn-outline:hover,.btn-outline.active{background:var(--aura);border-color:transparent;color:#fff;}

/* Карточки */
.product-card img{background:var(--aura-soft);}
.product-card:hover img{box-shadow:0 18px 36px rgba(122,55,170,0.18);}
.product-keywords{color:#8E3A96;}
.cart-btn{background:var(--aura);border:none;box-shadow:0 6px 16px rgba(122,55,170,0.30);}
.cart-btn:hover{background:var(--aura);filter:brightness(1.08);}
.cart-btn.in-cart{background:#fff;color:#6A35A8;border:1px solid rgba(122,55,170,0.35);box-shadow:none;}
.cart-btn-sold{background:#EFE8F3;box-shadow:none;color:var(--ink-soft);}
.fav-btn.active svg{fill:#C04A8F;stroke:#C04A8F;}
.cart-count-badge{background:var(--aura);}

/* Поверхности */
.checkout, .cart-summary, .cart-steps, .cta-quiz, .done-card, .contact-card, .catalog-toolbar{
  background:rgba(255,255,255,0.82);border-color:rgba(122,55,170,0.12);
}
.checkout label.delivery-option:has(input:checked){border-color:#8E3A96;background:var(--aura-soft);}
.cart-steps li::before{background:var(--aura);color:#fff;}
.done-icon{background:var(--aura);box-shadow:var(--glow);}

/* Золотой час — закат */
.gh-hero{background:var(--sunset);}
.gh-banner{background:linear-gradient(90deg,#4C2260,#B34E82 45%,#F2A17A 80%,#FFD89E);}
.gh-tag, .sale-badge{background:linear-gradient(115deg,#E8A06A,#C25C85);}
.mega-menu a.gh-link{color:#C25C85;}
.gh-card .product-price{padding-right:0;}
.gh-rules b{background:linear-gradient(100deg,#D9824F,#B34E82);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* Страница товара: описание без коробки */
.product-detail-desc{background:none;border:none;border-top:1px solid var(--line);border-radius:0;padding:18px 0 0;}
.product-detail-price{color:var(--ink);}
.product-detail-unique{color:#8E3A96;}

/* Сферы жизни — цветные полупрозрачные «камешки», у каждой свой минерал-цвет */
.product-keywords{display:flex;flex-wrap:wrap;gap:5px;white-space:normal;overflow:visible;margin:0 0 9px;}
.product-keywords span + span::before{content:none;}
/* Liquid Glass: прозрачная капля с бликом сверху, лёгкий оттенок минерала, без теней */
.kw{
  --c:122,55,170; --t:#6A35A8;
  position:relative;display:inline-flex;align-items:center;gap:5px;
  font-size:10.5px;font-weight:600;letter-spacing:0.02em;line-height:1;
  padding:5px 10px 5px 8px;border-radius:999px;color:var(--t);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.25) 48%, rgba(255,255,255,0) 52%, rgba(255,255,255,0.35) 100%),
    linear-gradient(115deg, rgba(var(--c),0.24) 0%, rgba(var(--c),0.10) 60%, rgba(var(--c),0.18) 100%);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:inset 0 0 0 1px rgba(var(--c),0.16), inset 0 -2px 4px rgba(var(--c),0.12);
  -webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);
}
.kw::before{
  content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 35% 30%, #fff 0%, rgba(var(--c),0.95) 65%);
}
.kw[data-kw="Энергия"]      { --c:232,106,70;  --t:#B0412A; } /* сердолик */
.kw[data-kw="Здоровье"]     { --c:52,160,120;  --t:#23775A; } /* нефрит */
.kw[data-kw="Любовь"]       { --c:226,92,146;  --t:#B2366F; } /* розовый кварц */
.kw[data-kw="Женственность"]{ --c:204,110,196; --t:#9A3F92; } /* лунный камень / кунцит */
.kw[data-kw="Финансы"]      { --c:214,160,40;  --t:#946A0E; } /* цитрин */
.kw[data-kw="Концентрация"] { --c:70,110,210;  --t:#3552A0; } /* содалит */
.kw[data-kw="Творчество"]   { --c:30,165,180;  --t:#1A7C88; } /* бирюза */
.kw[data-kw="Защита"]       { --c:88,76,170;   --t:#46398F; } /* обсидиан / лабрадор */
.kw[data-kw="Духовность"]   { --c:140,70,200;  --t:#6A35A8; } /* аметист */
.product-detail-info .kw{font-size:12px;padding:7px 12px 7px 10px;}
.product-detail-info .product-keywords{margin:4px 0 18px;gap:7px;}
@media (max-width:640px){
  .kw{font-size:10px;padding:4px 8px 4px 7px;}
}

/* Кнопки покупки — тёплый персиковый перелив (тёплые тона = действие и доверие) */
.btn.checkout-submit, .btn.btn-cta, .btn.checkout-submit:hover, .btn.btn-cta:hover,
.cart-btn:not(.in-cart):not(.cart-btn-sold), .cart-btn:not(.in-cart):not(.cart-btn-sold):hover{
  color:#fff;text-shadow:0 1px 2px rgba(150,55,40,0.35);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(110deg, #FFB98C, #FF9573, #F27B83, #FFB98C);
  background-size:100% 100%, 300% 100%;
  border:1px solid rgba(255,255,255,0.6);
  box-shadow:0 8px 22px rgba(242,123,100,0.32), inset 0 1px 1px rgba(255,255,255,0.65);
}
.btn.checkout-submit, .btn.btn-cta{animation:ctaFlow 6s ease-in-out infinite;}
.btn.checkout-submit:hover, .btn.btn-cta:hover, .cart-btn:not(.in-cart):not(.cart-btn-sold):hover{filter:brightness(1.05) saturate(1.1);transform:translateY(-1px);}
@keyframes ctaFlow{0%{background-position:0 0,0% 50%}50%{background-position:0 0,100% 50%}100%{background-position:0 0,0% 50%}}
.cart-btn.in-cart{color:#E0705F;border-color:rgba(242,123,100,0.45);}
.pay-note svg{stroke:#E0705F;}
@media (prefers-reduced-motion: reduce){ .btn.checkout-submit, .btn.btn-cta{animation:none;} }

/* ============ ВИДЕО ============ */
.video-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 26px;}
.video-filter{
  border:none;cursor:pointer;padding:9px 20px;border-radius:999px;
  font-family:'Jost',sans-serif;font-size:13px;letter-spacing:0.04em;color:var(--gold-deep);
  background:rgba(197,139,217,0.12);transition:.25s;
}
.video-filter:hover{background:rgba(197,139,217,0.22);}
.video-filter.active{background:linear-gradient(115deg,#C58BD9,#E79BC6,#FFB68E);color:#fff;}

.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
@media (max-width:980px){.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}}
@media (max-width:640px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}

.video-card{
  display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left;
  font-family:'Jost',sans-serif;
}
.video-card-media{
  position:relative;display:block;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:16px;
  background:linear-gradient(150deg,#EFE4F3,#F7E9E3);
  box-shadow:0 10px 30px rgba(60,30,90,0.10);
}
.video-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.video-card:hover .video-card-media img{transform:scale(1.04);}
.video-card-blank{width:100%;height:100%;}
.video-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.22);-webkit-backdrop-filter:blur(6px) saturate(180%);backdrop-filter:blur(6px) saturate(180%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.55), 0 6px 18px rgba(40,20,60,0.25);
  transition:.25s;
}
.video-card:hover .video-play{background:rgba(255,255,255,0.34);transform:translate(-50%,-50%) scale(1.06);}
.video-play svg{width:22px;height:22px;fill:#fff;margin-left:3px;}
.video-card-title{
  display:block;margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.video-empty{text-align:center;color:var(--ink-soft);padding:40px 0;}

.video-lightbox{
  position:fixed;inset:0;z-index:200;background:rgba(24,12,34,0.92);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.video-stage{max-width:520px;width:100%;}
.video-frame{
  position:relative;width:100%;aspect-ratio:9/16;max-height:78vh;border-radius:18px;overflow:hidden;
  background:#000;box-shadow:0 24px 60px rgba(0,0,0,0.5);
}
.video-frame video,.video-frame iframe{width:100%;height:100%;border:none;display:block;object-fit:contain;background:#000;}
.video-caption{margin:14px 0 0;text-align:center;color:#F3E6FA;font-size:14px;}
.video-close{
  position:absolute;top:18px;right:20px;width:42px;height:42px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,0.14);color:#fff;font-size:26px;line-height:1;
}
.video-close:hover{background:rgba(255,255,255,0.26);}
.video-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,0.14);color:#fff;font-size:24px;line-height:1;
}
.video-nav:hover{background:rgba(255,255,255,0.26);}
.video-nav.prev{left:16px;}
.video-nav.next{right:16px;}

/* блок с одним видео на главной */
.home-video{padding:56px 0 10px;}
.home-video .home-video-inner{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;align-items:center;}
.home-video .home-video-text h2{font-family:'Forum',serif;font-size:27px;font-weight:500;margin:0 0 14px;}
.home-video .home-video-text p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin:0 0 18px;}
@media (max-width:760px){
  .home-video .home-video-inner{grid-template-columns:1fr;gap:22px;}
  .home-video .home-video-slot{max-width:260px;margin:0 auto;}
}

/* ============ НОВОСТИ ИЗ TELEGRAM ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
@media (max-width:900px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}}
@media (max-width:560px){.news-grid{grid-template-columns:1fr;}}

.news-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border-radius:16px;overflow:hidden;background:var(--cream-card);
  box-shadow:0 8px 26px rgba(60,30,90,0.08);transition:transform .3s ease, box-shadow .3s ease;
}
.news-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(60,30,90,0.14);}
.news-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--honey-2);}
.news-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.news-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.24);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.5);
}
.news-play svg{width:18px;height:18px;fill:#fff;margin-left:2px;}
.news-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;}
.news-date{font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;}
.news-title{font-family:'Forum',serif;font-size:17px;line-height:1.35;color:var(--ink);}
.news-text{font-size:13.5px;line-height:1.6;color:var(--ink-soft);}
.news-more{margin-top:4px;font-size:12.5px;color:var(--amber);}
.news-card.no-photo .news-body{padding-top:22px;}
.news-loading{text-align:center;color:var(--ink-soft);padding:30px 0;}
.news-fallback{
  grid-column:1/-1;text-align:center;padding:34px 24px;border-radius:16px;
  background:linear-gradient(120deg, rgba(197,139,217,0.10), rgba(255,190,150,0.10));
}
.news-fallback p{margin:0 0 16px;color:var(--ink-soft);}

/* рубрики канала — боксики с обложкой из последнего поста */
.rubrics-label{
  margin:6px 0 12px;font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:600;text-align:center;
}
.rubric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 34px;}
.rubric-box{
  position:relative;display:block;min-height:190px;border:none;padding:0;cursor:pointer;
  border-radius:20px;overflow:hidden;text-align:left;text-decoration:none;color:#fff;font:inherit;
  background:var(--aura);box-shadow:0 10px 30px rgba(60,30,90,0.16);
  transition:transform .35s ease, box-shadow .35s ease;
  -webkit-tap-highlight-color:transparent;
}
.rubric-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.rubric-box:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(60,30,90,0.24);}
.rubric-box:hover img{transform:scale(1.05);}
.rubric-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(42,26,51,0.05) 0%, rgba(42,26,51,0.25) 40%, rgba(58,26,80,0.86) 100%);
}
.rubric-txt{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:18px 20px;}
.rubric-count{
  align-self:flex-start;margin-bottom:6px;padding:4px 11px;border-radius:999px;
  font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;
  background:rgba(255,255,255,0.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.45);
}
.rubric-title{font-family:'Forum',serif;font-size:23px;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,0.35);}
.rubric-sub{font-size:13px;line-height:1.45;opacity:.92;}
.rubric-box.active{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--gold), 0 16px 40px rgba(60,30,90,0.24);}
.rubric-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 18px;scroll-margin-top:90px;}
.rubric-head h2{margin:0;font-family:'Forum',serif;font-weight:400;font-size:26px;color:var(--ink);}
.rubric-head p{margin:4px 0 0;color:var(--ink-soft);font-size:14px;}
.rubric-head .btn{flex:none;}
.home-rubrics{margin:0 0 30px;}
@media (max-width:760px){
  .rubric-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px 28px;padding:4px 20px 10px;scroll-padding-inline:20px;scrollbar-width:none;}
  .rubric-row::-webkit-scrollbar{display:none;}
  .rubric-box{flex:0 0 78%;min-height:170px;scroll-snap-align:start;}
  .rubric-title{font-size:21px;}
  .rubric-head{flex-direction:column;align-items:flex-start;}
}

/* общий заголовок раздела на главной */
.section-head{text-align:center;margin:0 0 26px;}
.section-head span{
  display:block;font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--amber);font-weight:600;margin-bottom:8px;
}
.section-head h2{font-family:'Forum',serif;font-size:27px;font-weight:500;margin:0;}
.section-more{text-align:center;margin-top:26px;}
.video-card-media video{width:100%;height:100%;object-fit:cover;display:block;}

/* видео из Telegram: пост играет во встроенном окне */
.tg-videos{margin:56px 0 0;}
.tg-videos-status{margin:8px 0 0;font-size:13px;color:var(--ink-soft);}
.video-dur{
  position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:6px;
  background:rgba(20,10,30,0.55);color:#fff;font-size:11px;letter-spacing:0.02em;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}

/* ============ ПРЕДЗАКАЗ ============ */
.pre-badge{
  position:absolute;top:10px;left:10px;z-index:2;
  padding:6px 11px;border-radius:999px;
  font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:linear-gradient(115deg,#8E5BC9,#C77DB8 60%,#F2A07B);
  box-shadow:0 4px 14px rgba(106,53,168,.25);
}
.pre-box{
  margin:16px 0;padding:16px 18px;border-radius:16px;
  background:linear-gradient(120deg,rgba(197,139,217,.12),rgba(255,178,122,.12));
  font-size:15px;line-height:1.55;color:var(--ink);
}
.pre-box b{color:var(--gold-deep);}
.cart-pre{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--amber);letter-spacing:.02em;}

/* ============ ПРОДАЖИ ВЫКЛЮЧЕНЫ (касса ещё не подключена) ============
   Класс sales-off ставит assets/cart.js сразу при загрузке; снимает только
   если сервер ответил, что продажи включены. */
.sales-off .cart-btn,
.sales-off #detail-cart-btn,
.sales-off #detail-buy-btn,
.sales-off #checkout-submit {
  filter: grayscale(1);
  opacity: .42;
  pointer-events: none;
  cursor: not-allowed;
  box-shadow: none !important;
  animation: none !important;
}
.sales-off-note { display: none; }
.sales-off .sales-off-note {
  display: block; margin: 14px 0; padding: 14px 16px; border-radius: 14px;
  background: linear-gradient(120deg, rgba(197,139,217,.12), rgba(255,178,122,.12));
  font-size: 14.5px; line-height: 1.55; color: var(--ink);
}
.sales-off .sales-off-note a { color: var(--gold-deep); font-weight: 600; }

/* просмотр поста Telegram: окно растягивается под пост и листается пальцем */
.video-frame.tg{
  aspect-ratio:auto; height:auto; max-height:calc(100vh - 210px);
  overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
  background:#fff; border-radius:18px;
}
.video-frame.tg iframe{ display:block; width:100%; height:620px; border:none; background:#fff; }
.video-tg-btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin:14px auto 0; width:100%; max-width:520px; min-height:52px; border-radius:999px;
  background:linear-gradient(115deg,#FFB27A,#FF8FA3 52%,#F59AD6); color:#fff;
  font-family:'Jost',sans-serif; font-weight:600; font-size:15px; letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; box-shadow:0 10px 26px rgba(242,144,127,.4);
}
.video-tg-btn[hidden]{ display:none; }
@media (max-width:640px){
  .video-lightbox{ padding:58px 12px 18px; align-items:flex-start; }
  .video-stage{ max-width:none; }
  .video-nav{ top:auto; bottom:22px; transform:none; width:42px; height:42px; }
  .video-nav.prev{ left:14px; } .video-nav.next{ right:14px; }
  .video-tg-btn{ width:calc(100% - 110px); }
  .video-close{ top:10px; right:12px; }
}

/* ============ КАТАЛОГ: новинки и быстрые фильтры ============ */
.quick-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 18px;}
.q-chip{
  font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:var(--gold-deep);cursor:pointer;
  padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;
  transition:background .25s ease, color .25s ease, box-shadow .25s ease;-webkit-tap-highlight-color:transparent;
}
.q-chip:hover{box-shadow:0 4px 14px rgba(122,55,170,0.14);}
.q-chip.active{color:#fff;border-color:transparent;background:var(--aura);box-shadow:0 6px 16px rgba(122,55,170,0.28);}
.q-chip-new{border-color:rgba(224,135,106,0.55);color:#B0412A;}
.new-badge{
  position:absolute;top:10px;left:10px;z-index:2;padding:6px 11px;border-radius:999px;
  font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;
  background:linear-gradient(115deg,#E0876A,#C25C85);box-shadow:0 6px 16px rgba(194,92,133,0.35);
}
.catalog-latest{color:var(--amber);}
.catalog-empty{grid-column:1/-1;text-align:center;padding:40px 20px;color:var(--ink-soft);}
.catalog-empty p{margin:0 0 14px;}
@media (max-width:640px){
  .quick-chips{flex-wrap:nowrap;overflow-x:auto;margin:-8px -20px 16px;padding:2px 20px 6px;scrollbar-width:none;}
  .quick-chips::-webkit-scrollbar{display:none;}
  .q-chip{flex:none;}
}
/* плашка предзаказа рисуется внутри подписи карточки — поднимаем её на фото */
.product-info > .pre-badge{top:auto;bottom:calc(100% + 12px);}
@media (max-width:640px){
  .catalog-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;}
  .catalog-toolbar input[type="text"]{grid-column:1/-1;min-width:0;}
  .catalog-toolbar select{min-width:0;width:100%;}
}

/* реквизиты продавца в подвале — на каждой странице, видны без JavaScript */
.site-footer .foot-legal{margin-top:12px;font-size:11.5px;line-height:1.6;color:var(--ink-soft);opacity:.85;}
.site-footer .foot-legal a{color:inherit;text-decoration:none;}
.site-footer .foot-legal a:hover{color:var(--gold-deep);}

/* «как это работает» на странице доставки: номер в кружке, текст рядом */
.info-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0 38px;counter-reset:none;}
.info-steps > div{
  position:relative;display:flex;flex-direction:column;gap:14px;padding:22px 18px 20px;border-radius:18px;
  background:#fff;box-shadow:0 8px 26px rgba(60,30,90,0.08);
}
.info-steps > div:not(:last-child)::after{
  content:'';position:absolute;top:41px;right:-14px;width:14px;height:2px;
  background:linear-gradient(90deg, rgba(169,71,157,.45), rgba(224,135,106,.45));
}
.info-steps b{
  width:40px;height:40px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Forum',serif;font-size:19px;font-weight:400;color:#fff;background:var(--aura);
  box-shadow:0 6px 16px rgba(122,55,170,0.28);
}
.info-steps span{font-size:14.5px;line-height:1.55;color:var(--ink);}
@media (max-width:860px){
  .info-steps{grid-template-columns:1fr;gap:10px;}
  .info-steps > div{flex-direction:row;align-items:center;padding:14px 16px;}
  .info-steps > div:not(:last-child)::after{top:auto;bottom:-10px;right:auto;left:35px;width:2px;height:10px;background:linear-gradient(180deg, rgba(169,71,157,.45), rgba(224,135,106,.45));}
}

/* каталог компактнее: шапка меньше, быстрые кнопки внутри панели фильтров, камни видно сразу */
.page-hero-tight{padding:14px 0 18px;}
.page-hero-tight h1{margin-bottom:8px;}
.page-hero-tight p{font-size:15px;}
.catalog-toolbar{margin:0 0 14px;row-gap:12px;}
.catalog-toolbar .quick-chips{flex:1 1 100%;margin:0;padding-top:12px;border-top:1px solid var(--line);}
.catalog-count{margin:0 0 10px;}
.result-grid{padding-top:4px;}
@media (max-width:640px){
  .page-hero-tight{padding:8px 0 12px;}
  .page-hero-tight h1{font-size:28px;}
  .catalog-toolbar .quick-chips{grid-column:1/-1;margin:0 -14px;padding:10px 14px 2px;}
}

/* видео-обложка товара в галерее карточки */
.product-thumb-video{position:relative;padding:0;border:none;cursor:pointer;overflow:hidden;background:var(--aura);}
.product-thumb-video img{width:100%;height:100%;object-fit:cover;display:block;}
.product-thumb-video .ptv-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(42,26,51,0.25);}
.product-thumb-video .ptv-play svg{width:22px;height:22px;fill:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));}

/* контакты: видео бутика */
.shop-visit{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:44px;align-items:center;margin:34px 0 60px;padding:30px 40px 30px 30px;border-radius:28px;background:var(--aura-soft);}
.shop-visit .video-card-title{display:none;}
.shop-visit-eyebrow{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:10px;}
.shop-visit h2{font-family:'Forum',serif;font-weight:400;font-size:32px;margin:0 0 12px;}
.shop-visit p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin:0 0 20px;max-width:560px;}
@media (max-width:760px){
  .shop-visit{grid-template-columns:1fr;gap:22px;padding:22px 20px 26px;text-align:center;}
  .shop-visit-video{max-width:220px;margin:0 auto;width:100%;}
  .shop-visit p{margin-left:auto;margin-right:auto;}
}

/* контакты: карта и маршрут */
.map-block{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;margin:34px 0 0;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 16px 44px rgba(106,53,168,0.10);scroll-margin-top:100px;}
.map-frame{position:relative;min-height:380px;background:var(--aura-soft);}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.map-info{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;}
.map-info h2{font-family:'Forum',serif;font-weight:400;font-size:30px;margin:0 0 12px;}
.map-info p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin:0 0 12px;}
.map-hours b{color:var(--gold-deep);font-weight:600;}
.map-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
@media (max-width:760px){
  .map-block{grid-template-columns:1fr;border-radius:22px;}
  .map-frame{min-height:300px;}
  .map-info{padding:22px 20px 26px;text-align:center;}
  .map-buttons{justify-content:center;}
}
#requisites{scroll-margin-top:110px;}

/* видео, которые Telegram показывает только у себя */
.video-tg-badge{position:absolute;left:8px;top:8px;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.03em;color:#fff;background:linear-gradient(115deg,#2AABEE,#229ED9);box-shadow:0 4px 12px rgba(34,158,217,.35);}
.video-frame.tg-only{position:relative;aspect-ratio:9/16;max-height:calc(100vh - 210px);background:#1d1426;border-radius:18px;overflow:hidden;}
.video-tg-only{position:absolute;inset:0;}
.video-tg-only img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.05);}
.video-tg-only-text{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 24px;color:#fff;font-size:14px;line-height:1.5;text-align:center;background:linear-gradient(180deg,rgba(29,20,38,0),rgba(29,20,38,.85) 45%);}
.video-tg-only-text b{display:block;font-family:'Forum',serif;font-weight:400;font-size:22px;margin-bottom:4px;}
