/*
Theme Name: CYT Commerce
Theme URI: https://cytsexdoll.com/
Description: CYT storefront theme inspired by the authorized MRL catalog experience.
Author: CYT
Template: astra
Version: 1.0.2
Text Domain: cyt-commerce
*/

:root {
  --cyt-ink: #111;
  --cyt-muted: #6b6b6b;
  --cyt-line: #e8e8e8;
  --cyt-paper: #fff;
  --cyt-wash: #f6f4f5;
  --cyt-accent: #ec4a72;
  --cyt-accent-dark: #c52f55;
  --cyt-radius: 18px;
  --cyt-width: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--cyt-ink);
  background: var(--cyt-paper);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.cyt-shell { width: min(var(--cyt-width), calc(100% - 48px)); margin: 0 auto; }

.cyt-topbar {
  background: #111;
  color: #fff;
  font-size: 12px;
  letter-spacing: .04em;
}
.cyt-topbar__inner {
  min-height: 36px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}
.cyt-topbar__center { font-weight: 700; text-transform: uppercase; }
.cyt-topbar__right { text-align: right; opacity: .8; }

.cyt-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--cyt-line);
  backdrop-filter: blur(14px);
}
.cyt-header__main {
  min-height: 82px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
}
.cyt-logo {
  font-size: 27px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.045em;
  text-align: center;
  white-space: nowrap;
}
.cyt-logo span { color: var(--cyt-accent); }
.cyt-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 17px;
}
.cyt-actions a,.cyt-search-toggle { display:inline-grid; place-items:center; min-width:28px; min-height:28px; }
.cyt-search-toggle { padding:0; border:0; background:none; color:var(--cyt-ink); cursor:pointer; }
.cyt-search-panel { display:none; border-top:1px solid var(--cyt-line); background:#fff; }
.cyt-search-panel.is-open { display:block; }
.cyt-search-form { display:grid; grid-template-columns:1fr auto; gap:12px; padding:18px 0; }
.cyt-search-form input { min-height:48px; margin:0; border:1px solid var(--cyt-line); border-radius:999px; padding:0 20px; }
.cyt-search-form button { min-height:48px; padding:0 24px; border:0; border-radius:999px; background:var(--cyt-ink); color:#fff; cursor:pointer; }
.cyt-cart-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  margin-left: -8px;
  border-radius: 20px;
  background: var(--cyt-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.cyt-nav { border-top: 1px solid var(--cyt-line); }
.cyt-nav ul {
  min-height: 48px;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(18px, 2.4vw, 42px);
  list-style: none;
}
.cyt-nav a {
  display: block;
  padding: 15px 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.cyt-nav a:hover { color: var(--cyt-accent); }
.cyt-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--cyt-ink) !important;
  font-size: 22px;
  line-height: 1;
  box-shadow: none !important;
}

.cyt-hero {
  min-height: min(780px, calc(100vh - 166px));
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #ddd center/cover no-repeat;
  color: #fff;
}
.cyt-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.66), rgba(0,0,0,.08) 68%), linear-gradient(0deg, rgba(0,0,0,.5), transparent 55%);
}
.cyt-hero__content {
  position: relative;
  z-index: 1;
  width: min(780px, 100%);
  padding: 90px 0;
}
.cyt-eyebrow {
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.cyt-hero h1 {
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(46px, 6vw, 92px);
  line-height: .98;
  letter-spacing: -.055em;
}
.cyt-hero p { max-width: 650px; margin: 0 0 34px; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; }
.cyt-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 28px !important;
  border: 1px solid var(--cyt-ink) !important;
  border-radius: 999px !important;
  background: var(--cyt-ink) !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  transition: .2s ease;
}
.cyt-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover { background: var(--cyt-accent) !important; border-color: var(--cyt-accent) !important; transform: translateY(-1px); }
.cyt-button--light { background: #fff !important; color: #111 !important; border-color: #fff !important; }

.cyt-marquee { overflow: hidden; background: var(--cyt-accent); color: #fff; }
.cyt-marquee__track {
  width: max-content;
  padding: 14px 0;
  display: flex;
  gap: 36px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  animation: cyt-marquee 28s linear infinite;
}
@keyframes cyt-marquee { to { transform: translateX(-50%); } }

.cyt-section { padding: clamp(70px, 8vw, 120px) 0; }
.cyt-section--wash { background: var(--cyt-wash); }
.cyt-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 42px;
}
.cyt-section h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 62px);
  line-height: 1;
  letter-spacing: -.045em;
}
.cyt-section__head p { max-width: 620px; margin: 0; color: var(--cyt-muted); line-height: 1.7; }

.cyt-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.cyt-category-card {
  min-height: 460px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: var(--cyt-radius);
  background: #ddd center/cover no-repeat;
}
.cyt-category-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 65%); }
.cyt-category-card__body { position:relative; z-index:1; padding:30px; color:#fff; }
.cyt-category-card h3 { margin:0 0 7px; color:#fff; font-size:26px; }
.cyt-category-card span { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }

.cyt-products ul.products,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 34px 18px !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  background: transparent;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  overflow: hidden;
  border-radius: 16px;
  background: var(--cyt-wash);
}
.woocommerce ul.products li.product img { aspect-ratio: 4/5; width:100%; object-fit:cover; margin:0 0 16px !important; transition:.45s ease; }
.woocommerce ul.products li.product:hover img { transform: scale(1.035); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 !important; font-size:16px !important; line-height:1.35; }
.woocommerce ul.products li.product .price { color:var(--cyt-ink) !important; font-size:15px !important; font-weight:800 !important; }
.woocommerce ul.products li.product .button { min-height:40px; margin-top:10px !important; padding:0 18px !important; font-size:12px !important; }

.cyt-trust { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--cyt-line); border-radius:var(--cyt-radius); }
.cyt-trust__item { padding:28px; border-right:1px solid var(--cyt-line); }
.cyt-trust__item:last-child { border-right:0; }
.cyt-trust h3 { margin:0 0 8px; font-size:15px; }
.cyt-trust p { margin:0; color:var(--cyt-muted); font-size:13px; line-height:1.6; }

.woocommerce div.product { padding-top:40px; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom:70px; }
.woocommerce div.product div.images img { border-radius:16px; background:var(--cyt-wash); }
.woocommerce div.product .product_title { font-size:clamp(34px,4vw,58px); line-height:1.04; letter-spacing:-.045em; }
.woocommerce div.product p.price { color:var(--cyt-ink) !important; font-size:24px !important; font-weight:900; }
.woocommerce div.product form.cart { margin:30px 0 !important; }
.woocommerce div.product .woocommerce-tabs { padding:60px 0; border-top:1px solid var(--cyt-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; gap:30px; padding:0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:var(--cyt-line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0 !important; background:none !important; padding:0 !important; }
.woocommerce div.product .woocommerce-tabs .panel { max-width:1100px; line-height:1.75; }

.single-product-category, .product_meta .posted_in, .product_meta .tagged_as { display: none !important; }
.cyt-footer { margin-top:90px; padding:75px 0 30px; background:#111; color:#fff; }
.cyt-footer__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:50px; }
.cyt-footer h2 { margin:0 0 18px; color:#fff; font-size:30px; letter-spacing:-.04em; }
.cyt-footer h3 { margin:0 0 18px; color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.12em; }
.cyt-footer p,.cyt-footer a { color:rgba(255,255,255,.7); font-size:13px; line-height:1.8; }
.cyt-footer ul { margin:0; padding:0; list-style:none; }
.cyt-footer__bottom { margin-top:55px; padding-top:25px; border-top:1px solid rgba(255,255,255,.15); display:flex; justify-content:space-between; color:rgba(255,255,255,.55); font-size:12px; }

@media (max-width: 1024px) {
  .cyt-category-grid,.cyt-products ul.products,.woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important; }
  .cyt-header__main { grid-template-columns:auto 1fr auto; }
  .cyt-menu-toggle { display:block; }
  .cyt-header__left { order:0; }
  .cyt-logo { text-align:left; }
  .cyt-nav { display:none; }
  .cyt-nav.is-open { display:block; }
  .cyt-nav ul { height:auto; padding:20px 24px; flex-direction:column; align-items:flex-start; gap:0; }
  .cyt-trust { grid-template-columns:repeat(2,1fr); }
  .cyt-trust__item:nth-child(2) { border-right:0; }
  .cyt-footer__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .cyt-shell { width:min(100% - 28px,var(--cyt-width)); }
  .cyt-topbar__inner { grid-template-columns:1fr; text-align:center; min-height:32px; }
  .cyt-topbar__left,.cyt-topbar__right { display:none; }
  .cyt-header__main { min-height:66px; gap:12px; }
  .cyt-logo { font-size:20px; }
  .cyt-actions a:nth-child(1),.cyt-actions a:nth-child(2) { display:none; }
  .cyt-hero { min-height:640px; }
  .cyt-hero__content { padding:62px 0; }
  .cyt-section__head { align-items:flex-start; flex-direction:column; }
  .cyt-category-grid,.cyt-products ul.products,.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:26px 10px !important; }
  .cyt-category-card { min-height:330px; }
  .cyt-category-card__body { padding:20px; }
  .cyt-category-card h3 { font-size:21px; }
  .cyt-trust { grid-template-columns:1fr; }
  .cyt-trust__item { border-right:0; border-bottom:1px solid var(--cyt-line); }
  .cyt-footer__grid { grid-template-columns:1fr; gap:34px; }
  .cyt-footer__bottom { flex-direction:column; gap:8px; }
}
