/* ALAYN NOIR — responsive rules (tablet & mobile) */
@media (max-width: 1200px) {
  .cat-grid { grid-template-columns: repeat(3, 1fr); }
  .gem-row { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer-grid .footer-brand { grid-column: span 3; }
  .col-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  :root { --header-h: 64px; }
  .main-nav { display: none; }
  .nav-toggle { display: inline-grid; }
  .header-top { min-height: 64px; padding: 6px 0; }
  .logo img, .site-header.scrolled .logo img { height: var(--logo-h-m, 40px); max-width: 52vw; }
  .logo { font-size: 1.35rem; letter-spacing: .32em; }
  .header-right .hide-m { display: none; }
  .p-grid { --cols: 3; }
  .editorial { grid-template-columns: 1fr 1fr; }
  .editorial .p-card:first-child { grid-row: auto; grid-column: span 2; }
  .editorial .p-card:first-child .p-media { min-height: 0; aspect-ratio: 16/11; }
  .editorial .p-card:first-child .p-frame { display: block; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .why:nth-child(2) { border-right: 0; } .why:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .testi-grid { grid-template-columns: 1fr; }
  .shop { grid-template-columns: 1fr; }
  .filters { position: fixed; inset: 0 auto 0 0; width: min(360px, 90vw); background: var(--bg2); z-index: 1250; padding: 24px; overflow-y: auto; transform: translateX(-100%); transition: transform .4s var(--ease); border-right: 1px solid var(--line); }
  .filters.open { transform: none; box-shadow: 0 0 0 100vmax rgba(0,0,0,.6); }
  .filter-toggle { display: inline-flex; }
  .pdp { grid-template-columns: 1fr; }
  .gallery { position: static; grid-template-columns: 1fr; }
  .thumbs { flex-direction: row; order: 2; overflow-x: auto; } .thumbs button { width: 70px; flex: none; }
  .layout-2 { grid-template-columns: 1fr; }
  .summary { position: static; }
  .account { grid-template-columns: 1fr; gap: 24px; }
  .acc-nav { flex-direction: row; overflow-x: auto; border-top: 0; border-bottom: 1px solid var(--line-soft); }
  .acc-nav a, .acc-nav button { border-bottom: 0; padding: 12px 14px; white-space: nowrap; }
  .reviews { grid-template-columns: 1fr; gap: 20px; }
  .split { grid-template-columns: 1fr; } .split.reverse .media { order: 0; }
  .hero-arrows { display: none; }
  .scroll-cue { display: none; }
}
@media (max-width: 720px) {
  body { font-size: 15px; }
  .p-grid { --cols: var(--cols-m); gap: 22px 12px; }
  .p-name { font-size: 1rem; }
  .p-quick { display: none; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .gem-row { grid-template-columns: repeat(2, 1fr); }
  .gem-card img { width: 90px; height: 90px; }
  .col-grid { grid-template-columns: 1fr; }
  .col-card { aspect-ratio: 4/4.4; }
  .promo-grid { grid-template-columns: 1fr; }
  .promo { min-height: 320px; }
  .why-grid { grid-template-columns: 1fr; } .why { border-right: 0 !important; border-bottom: 1px solid var(--line-soft); padding: 30px 20px; }
  .insta-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; } .footer-grid .footer-brand, .footer-grid .footer-news { grid-column: span 2; }
  .hero { min-height: 520px; height: 88svh; }
  .hero-slide::after { background: linear-gradient(0deg, rgba(var(--bg-rgb),.95) 10%, rgba(0,0,0,calc(var(--ov,.45)*.9)) 60%, rgba(0,0,0,.2)) !important; }
  .hero-content { align-items: flex-end; padding-bottom: 90px; }
  .hero-content .container { justify-content: flex-start !important; text-align: left !important; }
  .hero-actions { justify-content: flex-start !important; }
  .hero p { margin-left: 0 !important; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .buy-row { grid-template-columns: 100px 1fr 50px; }
  .assure { grid-template-columns: 1fr 1fr 1fr; } .assure div { font-size: .62rem; padding: 10px 4px; }
  .section-head.split { flex-direction: column; align-items: flex-start; }
  .inline-form { flex-direction: column; } .inline-form .btn { width: 100%; }
  .timeline li { font-size: .55rem; letter-spacing: .04em; }
  .cart-line { grid-template-columns: 72px 1fr; } .cart-line img { width: 72px; } .cart-line .line-total { grid-column: 2; }
  .logo { font-size: 1.15rem; letter-spacing: .26em; padding-left: .26em; }
  .icon-btn { width: 38px; }
}
@media (max-width: 380px) { .header-left .icon-btn.search-btn { display: none; } }
@media (max-width: 600px) { .announce { font-size: .58rem; letter-spacing: .1em; } .announce .msg { padding: 0 10px; } }
