/* AriCigar Landing WP */
:root {
  --ac-bg: #f6f1eb;
  --ac-bg-soft: #fffaf4;
  --ac-surface: #ffffff;
  --ac-surface-dark: #15100d;
  --ac-text: #1e1712;
  --ac-muted: #746b63;
  --ac-border: rgba(61, 43, 31, 0.14);
  --ac-accent: #bd7b32;
  --ac-accent-dark: #7a451f;
  --ac-accent-soft: #f2dcc5;
  --ac-gold: #dca755;
  --ac-shadow: 0 24px 70px rgba(43, 25, 12, 0.16);
  --ac-radius: 28px;
  --ac-radius-sm: 16px;
  --ac-container: min(1200px, calc(100vw - 40px));
  --ac-header-height: 86px;
  --ac-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ac-text);
  background: var(--ac-bg);
  font-family: var(--ac-font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.ac-lock-scroll { overflow: hidden; }
a { color: inherit; text-decoration: none; transition: color .2s ease, opacity .2s ease, transform .2s ease, background .2s ease, border-color .2s ease; }
a:hover { color: var(--ac-accent); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
svg { display: block; width: 1.1em; height: 1.1em; fill: currentColor; }
.screen-reader-text, .skip-link {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto !important; clip-path: none; display: block; height: auto; left: 16px; top: 16px; width: auto; z-index: 100000; background: #fff; padding: 12px 16px; border-radius: 10px; box-shadow: var(--ac-shadow); }
.ac-container { width: var(--ac-container); margin-inline: auto; }
.ac-site-shell { min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1; }

/* Header */
.ac-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 250, 244, 0.96);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(16px);
  transition: box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.ac-site-header.is-stuck { border-color: var(--ac-border); box-shadow: 0 12px 40px rgba(31, 17, 7, .08); }
.ac-topbar { background: #1b120d; color: rgba(255,255,255,.82); font-size: 13px; }
.ac-topbar__inner { display: flex; align-items: center; justify-content: space-between; min-height: 38px; gap: 20px; }
.ac-topbar__links { display: flex; align-items: center; gap: 16px; }
.ac-topbar__links a:hover { color: #fff; }
.ac-currency { position: relative; }
.ac-currency button { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 4px 12px; }
.ac-currency ul { position: absolute; right: 0; top: calc(100% + 8px); min-width: 126px; margin: 0; padding: 8px; list-style: none; background: #fff; color: var(--ac-text); border-radius: 14px; box-shadow: var(--ac-shadow); opacity: 0; pointer-events: none; transform: translateY(-6px); transition: .18s ease; }
.ac-currency.is-open ul { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ac-currency li a { display: block; padding: 8px 10px; border-radius: 9px; }
.ac-currency li a:hover { background: var(--ac-accent-soft); }
.ac-header-main__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px; min-height: var(--ac-header-height); }
.ac-logo img, .custom-logo { width: auto; max-height: 58px; }
.ac-primary-nav { justify-self: center; }
.ac-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ac-menu li { position: relative; }
.ac-menu > li > a { display: inline-flex; align-items: center; min-height: 46px; padding: 0 15px; border-radius: 999px; font-size: 15px; font-weight: 700; color: #2a2019; }
.ac-menu > li:hover > a, .ac-menu > li.current-menu-item > a { background: var(--ac-accent-soft); color: var(--ac-accent-dark); }
.ac-menu .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; margin-left: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.ac-menu .sub-menu { position: absolute; left: 0; top: calc(100% + 8px); min-width: 230px; margin: 0; padding: 10px; list-style: none; background: #fff; border: 1px solid var(--ac-border); border-radius: 18px; box-shadow: var(--ac-shadow); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: .18s ease; }
.ac-menu li:hover > .sub-menu, .ac-menu li:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ac-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 12px; color: var(--ac-text); font-weight: 650; }
.ac-menu .sub-menu a:hover { background: var(--ac-bg); color: var(--ac-accent-dark); }
.ac-header-actions { display: flex; align-items: center; gap: 10px; }
.ac-icon-button { position: relative; display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--ac-border); border-radius: 999px; background: #fff; color: var(--ac-text); }
.ac-icon-button:hover { color: var(--ac-accent-dark); border-color: var(--ac-accent); transform: translateY(-1px); }
.ac-cart-count { position: absolute; right: -4px; top: -5px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 99px; background: var(--ac-accent); color: #fff; font-size: 11px; line-height: 19px; font-weight: 800; text-align: center; }
.ac-menu-toggle, .ac-mobile-nav-head { display: none; }

/* Search overlay */
.ac-search-overlay { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: start center; padding: 10vh 20px; background: rgba(20, 12, 8, .72); backdrop-filter: blur(14px); }
.ac-search-overlay[hidden] { display: none; }
.ac-search-overlay__inner { width: min(720px, 100%); background: #fff; border-radius: 28px; padding: 34px; box-shadow: var(--ac-shadow); position: relative; }
.ac-search-overlay h2 { margin: 0 0 20px; font-size: clamp(28px, 4vw, 48px); letter-spacing: .05em; }
.ac-search-close { position: absolute; right: 20px; top: 20px; }
.ac-search-form { display: flex; gap: 12px; }
.ac-search-form label { flex: 1; }
.ac-search-form input[type="search"] { width: 100%; min-height: 54px; border: 1px solid var(--ac-border); border-radius: 999px; padding: 0 20px; background: var(--ac-bg-soft); outline: none; }
.ac-search-form input[type="search"]:focus { border-color: var(--ac-accent); box-shadow: 0 0 0 4px rgba(189,123,50,.12); }

/* Buttons and headings */
.ac-button, .button, .wp-element-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 24px; border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--ac-accent), var(--ac-accent-dark)); color: #fff; font-weight: 800; box-shadow: 0 12px 28px rgba(122,69,31,.24); }
.ac-button:hover, .button:hover, .wp-element-button:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 36px rgba(122,69,31,.28); }
.ac-button--small { min-height: 40px; padding-inline: 16px; font-size: 14px; }
.ac-link-button { display: inline-flex; align-items: center; color: var(--ac-accent-dark); font-weight: 850; }
.ac-link-button::after { content: "→"; margin-left: 8px; transition: transform .2s ease; }
.ac-link-button:hover::after { transform: translateX(4px); }
.ac-link-button--light { color: #fff; }
.ac-section { padding-block: clamp(46px, 7vw, 90px); }
.ac-section-head { margin-bottom: 30px; }
.ac-section-head--between { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.ac-section-head--center { text-align: center; max-width: 700px; margin-inline: auto; }
.ac-section-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--ac-accent-dark); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 900; }
.ac-section-kicker::before { content: ""; width: 28px; height: 2px; background: var(--ac-gold); border-radius: 9px; }
h1, h2, h3, h4 { margin-top: 0; line-height: 1.08; color: #17110d; }
.ac-section h2, .ac-section-head h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.04em; }

/* Hero */
.ac-hero { position: relative; min-height: clamp(560px, 76vh, 780px); display: grid; align-items: center; overflow: hidden; isolation: isolate; background: #1d120c; }
.ac-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ac-hero__shade { position: absolute; inset: 0; background: radial-gradient(circle at 72% 50%, rgba(220,167,85,.16), transparent 28%), linear-gradient(90deg, rgba(21,12,7,.92), rgba(31,20,13,.66) 46%, rgba(35,22,14,.12)); z-index: -1; }
.ac-hero__content { max-width: 620px; color: #fff; padding-block: 80px; }
.ac-hero__content h1 { color: #fff; margin: 0 0 22px; font-size: clamp(42px, 7vw, 80px); letter-spacing: -.06em; }
.ac-hero__content p { margin: 0 0 30px; color: rgba(255,255,255,.82); font-size: clamp(17px, 2vw, 21px); }
.ac-hero__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }

/* Proof cards */
.ac-proof { margin-top: -70px; position: relative; z-index: 5; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ac-proof-card { background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.7); border-radius: var(--ac-radius); padding: 26px; box-shadow: var(--ac-shadow); }
.ac-proof-card svg { width: 42px; height: 42px; color: var(--ac-accent); margin-bottom: 16px; }
.ac-proof-card h2 { margin: 0 0 8px; font-size: 24px; text-transform: lowercase; }
.ac-proof-card p { margin: 0; color: var(--ac-muted); }

/* Product grid */
.ac-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ac-product-card { background: #fff; border: 1px solid var(--ac-border); border-radius: 24px; overflow: hidden; box-shadow: 0 16px 40px rgba(50, 31, 16, .08); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ac-product-card:hover { transform: translateY(-5px); box-shadow: var(--ac-shadow); border-color: rgba(189,123,50,.28); }
.ac-product-card__image { display: block; aspect-ratio: 1 / 1; background: #f3ece4; overflow: hidden; }
.ac-product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ac-product-card:hover .ac-product-card__image img { transform: scale(1.04); }
.ac-product-card__body { padding: 18px; }
.ac-product-card__body h3 { margin: 0 0 12px; font-size: 18px; letter-spacing: -.02em; }
.ac-product-tag { display: inline-flex; margin-bottom: 8px; font-size: 12px; font-weight: 800; color: var(--ac-accent-dark); text-transform: uppercase; letter-spacing: .08em; }
.ac-price { margin: 0 0 14px; font-weight: 900; color: var(--ac-accent-dark); }

/* Collection cards */
.ac-collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ac-collection-card { display: grid; grid-template-columns: 46% 1fr; min-height: 430px; overflow: hidden; background: #fff; border-radius: var(--ac-radius); box-shadow: var(--ac-shadow); }
.ac-collection-card__media { background: #efe4d8; overflow: hidden; }
.ac-collection-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ac-collection-card:hover .ac-collection-card__media img { transform: scale(1.05); }
.ac-collection-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 44px); }
.ac-collection-card__body h3 { margin: 0 0 14px; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.04em; }
.ac-collection-card__body p { margin: 0 0 24px; color: var(--ac-muted); }

/* Japan section */
.ac-japan-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); align-items: center; gap: 34px; padding: clamp(28px, 5vw, 56px); background: linear-gradient(135deg, #21130d, #6a391d); border-radius: var(--ac-radius); color: #fff; overflow: hidden; position: relative; }
.ac-japan-card::before { content: ""; position: absolute; inset: -20% auto auto 42%; width: 380px; height: 380px; border-radius: 50%; background: rgba(220,167,85,.18); filter: blur(4px); }
.ac-japan-card h2 { color: #fff; margin: 0 0 18px; font-size: clamp(34px, 5vw, 58px); letter-spacing: -.05em; }
.ac-japan-card p { color: rgba(255,255,255,.78); margin: 0 0 24px; }
.ac-japan-card img { border-radius: 24px; box-shadow: 0 24px 90px rgba(0,0,0,.28); position: relative; }

/* Video */
.ac-video-section { padding-top: 24px; }
.ac-video-embed, .ac-video-placeholder { overflow: hidden; border-radius: var(--ac-radius); box-shadow: var(--ac-shadow); background: #17110d; }
.ac-video-embed iframe { width: 100%; aspect-ratio: 16/9; height: auto; display: block; border: 0; }
.ac-video-file { width: 100%; display: block; border-radius: var(--ac-radius); background: #000; }
.ac-video-placeholder { min-height: min(58vw, 620px); display: grid; place-items: center; text-align: center; color: #fff; background: radial-gradient(circle at 50% 42%, rgba(220,167,85,.34), transparent 28%), linear-gradient(135deg, #120b07, #332015 62%, #7a451f); }
.ac-video-placeholder__button { width: 88px; height: 88px; display: inline-grid; place-items: center; margin-inline: auto; margin-bottom: 18px; border-radius: 50%; background: #fff; color: var(--ac-accent-dark); box-shadow: 0 20px 50px rgba(0,0,0,.2); }
.ac-video-placeholder__button svg { width: 40px; height: 40px; transform: translateX(3px); }
.ac-video-placeholder span { display: block; font-size: clamp(32px, 5vw, 56px); font-weight: 900; letter-spacing: -.04em; }
.ac-video-placeholder p { margin: 8px 0 0; color: rgba(255,255,255,.78); }

/* Footer */
.ac-site-footer { margin-top: auto; background: #15100d; color: rgba(255,255,255,.76); padding-top: 56px; }
.ac-service-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 54px; }
.ac-service-card { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border: 1px solid rgba(255,255,255,.09); border-radius: 22px; background: rgba(255,255,255,.04); }
.ac-service-card svg { width: 34px; height: 34px; color: var(--ac-gold); flex: 0 0 auto; }
.ac-service-card h3 { margin: 0 0 6px; color: #fff; font-size: 18px; }
.ac-service-card p { margin: 0; }
.ac-footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: clamp(24px, 4vw, 54px); padding-bottom: 44px; }
.ac-footer-logo img { max-width: 190px; margin-bottom: 18px; }
.ac-footer-brand p { margin: 0 0 20px; max-width: 360px; }
.ac-social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.ac-social-links a { display: inline-flex; min-height: 36px; align-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 0 14px; color: #fff; }
.ac-social-links a:hover { background: rgba(255,255,255,.1); color: #fff; }
.ac-footer-grid h2 { color: #fff; font-size: 18px; margin: 0 0 18px; }
.ac-footer-links { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.ac-footer-links a { color: rgba(255,255,255,.72); }
.ac-footer-links a:hover { color: #fff; }
.ac-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: 14px; }
.ac-footer-bottom p { margin: 0; }

/* Content pages */
.ac-content-area { padding-block: clamp(48px, 8vw, 90px); }
.ac-entry { background: #fff; border: 1px solid var(--ac-border); border-radius: var(--ac-radius); padding: clamp(24px, 5vw, 56px); box-shadow: 0 16px 42px rgba(50,31,16,.08); }
.ac-entry + .ac-entry { margin-top: 24px; }
.ac-entry__header h1, .ac-entry__header h2 { margin-bottom: 12px; font-size: clamp(30px, 5vw, 52px); letter-spacing: -.04em; }
.ac-entry-meta { color: var(--ac-muted); font-size: 14px; margin-bottom: 18px; }
.ac-entry__content > *:first-child { margin-top: 0; }
.ac-entry__content > *:last-child { margin-bottom: 0; }
.ac-post-list { display: grid; gap: 24px; }
.ac-post-card__image { display: block; margin: calc(clamp(24px, 5vw, 56px) * -1) calc(clamp(24px, 5vw, 56px) * -1) 28px; overflow: hidden; border-radius: var(--ac-radius) var(--ac-radius) 0 0; }
.ac-archive-head { margin-bottom: 30px; }
.ac-archive-head h1 { margin: 0; font-size: clamp(34px, 5vw, 58px); letter-spacing: -.05em; }
.navigation.posts-navigation, .post-navigation { margin-top: 30px; }
.nav-links { display: flex; justify-content: space-between; gap: 20px; }
.nav-links a { font-weight: 800; color: var(--ac-accent-dark); }
.ac-error-page { text-align: center; }
.ac-error-page .ac-search-form { max-width: 650px; margin: 24px auto; }

/* WooCommerce adjustments */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { background: #fff; border: 1px solid var(--ac-border); border-radius: 22px; padding: 16px; box-shadow: 0 16px 42px rgba(50,31,16,.08); }
.woocommerce ul.products li.product .button { margin-top: 12px; }
.woocommerce div.product { background: #fff; border-radius: var(--ac-radius); padding: clamp(20px, 4vw, 44px); box-shadow: 0 16px 42px rgba(50,31,16,.08); }
.woocommerce .woocommerce-breadcrumb { color: var(--ac-muted); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--ac-accent); }

/* Age gate */
.ac-age-gate { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 20px; background: rgba(10, 6, 4, .82); backdrop-filter: blur(18px); }
.ac-age-gate[hidden] { display: none; }
.ac-age-gate__dialog { width: min(480px, 100%); background: #fff; border-radius: 28px; padding: 34px; text-align: center; box-shadow: var(--ac-shadow); }
.ac-age-gate__dialog h2 { margin: 0 0 10px; font-size: 34px; }
.ac-age-gate__dialog p { margin: 0 0 24px; color: var(--ac-muted); }

/* Responsive */
@media (max-width: 1080px) {
  .ac-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ac-collection-card { grid-template-columns: 1fr; }
  .ac-collection-card__media { min-height: 260px; }
  .ac-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  :root { --ac-container: min(100% - 28px, 760px); --ac-header-height: 74px; }
  .ac-topbar__notice { display: none; }
  .ac-topbar__inner { justify-content: center; }
  .ac-header-main__inner { grid-template-columns: auto 1fr auto; gap: 12px; }
  .ac-menu-toggle { display: inline-grid; }
  .ac-logo { justify-self: center; }
  .ac-primary-nav { position: fixed; inset: 0 auto 0 0; width: min(86vw, 390px); z-index: 2500; background: #fffaf4; transform: translateX(-105%); transition: transform .25s ease; box-shadow: var(--ac-shadow); padding: 16px; overflow-y: auto; }
  .ac-primary-nav.is-open { transform: translateX(0); }
  .ac-mobile-nav-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-size: 20px; font-weight: 900; }
  .ac-menu { display: grid; gap: 4px; align-items: stretch; }
  .ac-menu > li > a { justify-content: space-between; border-radius: 14px; min-height: 50px; padding-inline: 14px; }
  .ac-menu .sub-menu { position: static; min-width: 0; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; border: 0; background: rgba(189,123,50,.08); margin: 0 0 8px; display: none; }
  .ac-menu li.is-open > .sub-menu, .ac-menu li:hover > .sub-menu, .ac-menu li:focus-within > .sub-menu { display: block; }
  .ac-header-actions .ac-icon-button:nth-child(2) { display: none; }
  .ac-mobile-backdrop { position: fixed; inset: 0; background: rgba(20,12,8,.55); z-index: 2400; }
  .ac-mobile-backdrop[hidden] { display: none; }
  .ac-proof { grid-template-columns: 1fr; margin-top: -40px; }
  .ac-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-collection-grid { grid-template-columns: 1fr; }
  .ac-japan-card { grid-template-columns: 1fr; }
  .ac-service-strip { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .ac-topbar__links { gap: 10px; font-size: 12px; }
  .ac-topbar__links a:nth-child(2) { display: none; }
  .ac-icon-button { width: 40px; height: 40px; }
  .ac-header-actions { gap: 6px; }
  .ac-logo img, .custom-logo { max-height: 46px; }
  .ac-hero { min-height: 590px; }
  .ac-hero__content { padding-block: 62px; }
  .ac-hero__actions { align-items: stretch; flex-direction: column; max-width: 260px; }
  .ac-section-head--between { align-items: flex-start; flex-direction: column; }
  .ac-product-grid { grid-template-columns: 1fr; }
  .ac-collection-card__media { min-height: 220px; }
  .ac-search-form { flex-direction: column; }
  .ac-footer-grid { grid-template-columns: 1fr; }
  .ac-footer-bottom { flex-direction: column; align-items: flex-start; }
  .ac-age-gate__dialog { padding: 26px; }
}
