/*
Theme Name: Los Santos Culture
Theme URI: https://example.com/los-santos-culture
Author: OpenAI
Author URI: https://openai.com/
Description: Tema editorial streetwear para WordPress + WooCommerce, inspirado na identidade Los Santos Culture. Inclui home personalizada, integração WooCommerce, menu mobile, Customizer e estilos responsivos.
Version: 1.3.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: los-santos-culture
Tags: e-commerce, woocommerce, streetwear, dark, responsive, custom-logo, custom-menu, featured-images
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --lsc-black: #0b0d0f;
  --lsc-black-2: #14171a;
  --lsc-cream: #f0ece3;
  --lsc-paper: #f7f3ea;
  --lsc-ink: #101112;
  --lsc-muted: #77736c;
  --lsc-line: #cbc5ba;
  --lsc-burgundy: #8e1424;
  --lsc-burgundy-dark: #65101b;
  --lsc-max: 1380px;
  --lsc-gutter: clamp(18px, 3vw, 44px);
  --lsc-radius: 2px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--lsc-paper);
  color: var(--lsc-ink);
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }

.lsc-container { width: min(var(--lsc-max), calc(100% - (var(--lsc-gutter) * 2))); margin-inline: auto; }
.lsc-blackletter, .site-title, h1.display, h2.display {
  font-family: "UnifrakturCook", "Old English Text MT", Georgia, serif;
  font-weight: 700;
  letter-spacing: -.02em;
}

/* Header */
.site-header { background: var(--lsc-black); color: #fff; position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(255,255,255,.1); }
.site-header__inner { height: 86px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.site-branding { display:flex; align-items:center; min-width:0; }
.custom-logo-link img { max-height:58px; width:auto; }
.site-title { font-size: clamp(34px, 4vw, 52px); line-height:.82; }
.site-title small { display:block; font-family: Inter, Arial, sans-serif; font-size:8px; letter-spacing:.48em; text-transform:uppercase; margin:8px 0 0 7px; }
.primary-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
.primary-nav ul { display:flex; gap:28px; list-style:none; margin:0; padding:0; }
.primary-nav a { font-size:13px; text-transform:uppercase; letter-spacing:.08em; opacity:.92; }
.primary-nav a:hover { opacity:.6; }
.header-actions { display:flex; align-items:center; gap:12px; }
.header-icon { width:40px; height:40px; display:grid; place-items:center; border-left:1px solid rgba(255,255,255,.18); }
.header-icon svg { width:20px; height:20px; }
.cart-count { font-size:10px; position:absolute; transform: translate(12px,-12px); background:var(--lsc-burgundy); border-radius:20px; min-width:18px; height:18px; display:grid; place-items:center; padding:0 4px; }
.nav-toggle { display:none; width:42px; height:42px; background:transparent; color:#fff; border:0; padding:8px; cursor:pointer; }
.nav-toggle span { display:block; height:2px; background:currentColor; margin:6px 0; }

/* Hero */
.lsc-hero { min-height: min(790px, 82vh); position:relative; display:grid; align-items:end; overflow:hidden; color:#fff; background:#151515; }
.lsc-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.38) 45%, rgba(0,0,0,.12) 75%), linear-gradient(0deg, rgba(0,0,0,.65), transparent 55%); z-index:1; }
.lsc-hero__media { position:absolute; inset:0; background-position:center; background-size:cover; filter:saturate(.8) contrast(1.06); }
.lsc-hero__fallback { position:absolute; inset:0; background:
  radial-gradient(circle at 72% 28%, rgba(255,255,255,.12), transparent 22%),
  linear-gradient(125deg, #171717 0 46%, #2a2420 46% 64%, #121212 64% 100%); }
.lsc-hero__content { position:relative; z-index:2; padding:0 0 clamp(58px, 8vw, 110px); max-width:800px; }
.lsc-kicker { text-transform:uppercase; letter-spacing:.28em; font-size:11px; margin-bottom:16px; opacity:.8; }
.lsc-hero h1 { font-size: clamp(62px, 8vw, 128px); line-height:.8; margin:0 0 22px; max-width:900px; }
.lsc-hero p { font-size: clamp(18px, 2.2vw, 28px); margin:0 0 30px; max-width:620px; }
.lsc-btn { display:inline-flex; align-items:center; gap:10px; justify-content:center; min-height:48px; padding:0 22px; border:1px solid transparent; background:var(--lsc-burgundy); color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; transition:.2s ease; }
.lsc-btn:hover { background:var(--lsc-burgundy-dark); transform:translateY(-1px); }
.lsc-btn--outline { background:transparent; border-color:currentColor; }

/* Sections */
.lsc-section { padding: clamp(64px, 8vw, 110px) 0; }
.lsc-section--cream { background:var(--lsc-cream); }
.lsc-section--dark { background:var(--lsc-black); color:#fff; }
.lsc-section__head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:35px; padding-bottom:18px; border-bottom:1px solid var(--lsc-line); }
.lsc-section--dark .lsc-section__head { border-color:rgba(255,255,255,.2); }
.lsc-section__head h2 { font-size:clamp(46px, 5vw, 76px); line-height:.9; margin:0; }
.lsc-section__head a { text-transform:uppercase; letter-spacing:.14em; font-size:11px; }

.lsc-editorial { display:grid; grid-template-columns: 1.25fr .75fr; min-height:620px; }
.lsc-editorial__media { min-height:520px; background:#292929; background-size:cover; background-position:center; }
.lsc-editorial__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(35px, 6vw, 90px); background:var(--lsc-black); color:#fff; }
.lsc-editorial__content h2 { font-size:clamp(54px, 6vw, 92px); line-height:.84; margin:0 0 24px; }
.lsc-editorial__content p { color:rgba(255,255,255,.75); max-width:480px; margin:0 0 28px; }

.lsc-culture-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--lsc-line); border:1px solid var(--lsc-line); }
.lsc-culture-card { background:var(--lsc-paper); padding:32px; min-height:250px; display:flex; flex-direction:column; justify-content:space-between; }
.lsc-culture-card__num { font-size:12px; letter-spacing:.16em; color:var(--lsc-muted); }
.lsc-culture-card h3 { font-size:32px; margin:35px 0 8px; }
.lsc-culture-card p { margin:0; color:#5d5b57; }

/* Content */
.site-main { min-height:60vh; }
.content-shell { padding:70px 0 100px; }
.entry-header { max-width:950px; margin-bottom:40px; }
.entry-title { font-size:clamp(48px, 6vw, 82px); line-height:.95; margin:0; }
.entry-content { max-width:900px; font-size:18px; }
.entry-content h2, .entry-content h3 { margin-top:1.8em; }
.entry-content a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }

/* Search */
.lsc-search-form { display:flex; gap:0; max-width:620px; }
.lsc-search-form input { flex:1; min-height:48px; border:1px solid var(--lsc-line); background:#fff; padding:0 14px; }
.lsc-search-form button { border:0; }

/* Footer */
.site-footer { background:#090a0b; color:#fff; padding:70px 0 25px; }
.site-footer__grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:45px; padding-bottom:60px; }
.footer-brand .site-title { font-size:52px; }
.footer-copy { color:rgba(255,255,255,.62); max-width:400px; margin-top:22px; }
.footer-title { font-size:11px; text-transform:uppercase; letter-spacing:.16em; color:rgba(255,255,255,.55); margin-bottom:18px; }
.footer-menu { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.footer-menu a { color:rgba(255,255,255,.86); }
.site-footer__bottom { padding-top:18px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:20px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.5); }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { margin:0 0 20px; color:#6c6861; font-size:12px; }
.woocommerce-products-header { margin:52px 0 28px; }
.woocommerce-products-header__title.page-title { font-family:"UnifrakturCook", Georgia, serif; font-size:clamp(58px, 7vw, 100px); line-height:.85; margin:0; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:28px; }
.woocommerce .woocommerce-ordering select { background:transparent; border:1px solid var(--lsc-line); min-height:42px; padding:0 35px 0 12px; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,1fr); gap:34px 14px; margin:0 0 70px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; float:none !important; }
.woocommerce ul.products li.product a img { margin:0 0 12px; background:#e7e1d7; aspect-ratio:1/1.18; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:16px; padding:0; margin:0 0 2px; font-weight:600; }
.woocommerce ul.products li.product .price { color:var(--lsc-ink); font-size:15px; font-weight:600; }
.woocommerce ul.products li.product .button { display:inline-flex; margin-top:10px; min-height:38px; align-items:center; border-radius:0; background:var(--lsc-black); color:#fff; text-transform:uppercase; letter-spacing:.07em; font-size:10px; }
.woocommerce span.onsale { background:var(--lsc-burgundy); border-radius:0; min-width:auto; min-height:auto; padding:6px 10px; line-height:1.2; text-transform:uppercase; letter-spacing:.08em; font-size:10px; }

.woocommerce div.product { padding:55px 0 90px; }
.woocommerce div.product div.images img { background:#ece7de; }
.woocommerce div.product .product_title { font-family:"UnifrakturCook", Georgia, serif; font-size:clamp(50px, 5vw, 78px); line-height:.9; margin-bottom:12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--lsc-ink); font-size:25px; font-weight:700; }
.woocommerce div.product form.cart .button, .woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt { background:var(--lsc-burgundy); color:#fff; border-radius:0; min-height:48px; text-transform:uppercase; letter-spacing:.07em; font-size:12px; padding:0 22px; }
.woocommerce div.product form.cart .button:hover, .woocommerce .button.alt:hover { background:var(--lsc-burgundy-dark); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; margin-top:55px; border-bottom:1px solid var(--lsc-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:0; background:transparent; border-radius:0; margin:0 22px 0 0; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:14px 0; text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.woocommerce div.product .woocommerce-tabs .panel { max-width:900px; }
.woocommerce table.shop_table { border-radius:0; border-color:var(--lsc-line); }
.woocommerce .quantity .qty { min-height:48px; border:1px solid var(--lsc-line); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color:var(--lsc-burgundy); background:#ece7de; }
.woocommerce-info::before, .woocommerce-message::before { color:var(--lsc-burgundy); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius:0; }

/* WhatsApp floating */
.lsc-whatsapp { position:fixed; right:18px; bottom:18px; z-index:50; display:flex; align-items:center; gap:9px; background:#fff; color:#111; box-shadow:0 8px 28px rgba(0,0,0,.18); padding:11px 14px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.lsc-whatsapp svg { width:20px; height:20px; }

/* WordPress */
.alignwide { max-width:var(--lsc-max); margin-left:auto; margin-right:auto; }
.alignfull { width:100vw; margin-left:calc(50% - 50vw); }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; overflow:hidden; position:absolute!important; word-wrap:normal!important; }

@media (max-width: 980px) {
  .nav-toggle { display:block; }
  .primary-nav { position:fixed; inset:86px 0 auto 0; background:var(--lsc-black); padding:24px var(--lsc-gutter) 34px; transform:translateY(-130%); transition:.25s ease; border-top:1px solid rgba(255,255,255,.12); }
  .primary-nav.is-open { transform:translateY(0); }
  .primary-nav ul { flex-direction:column; width:100%; gap:18px; }
  .primary-nav a { font-size:18px; }
  .lsc-editorial { grid-template-columns:1fr; }
  .lsc-editorial__media { min-height:440px; }
  .lsc-culture-grid { grid-template-columns:1fr; }
  .site-footer__grid { grid-template-columns:1fr 1fr; }
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 620px) {
  .site-header__inner { height:72px; }
  .primary-nav { inset:72px 0 auto 0; }
  .site-title { font-size:34px; }
  .site-title small { font-size:6px; }
  .header-icon--search { display:none; }
  .lsc-hero { min-height:700px; }
  .lsc-hero::before { background:linear-gradient(0deg, rgba(0,0,0,.82), rgba(0,0,0,.12)); }
  .lsc-hero h1 { font-size:64px; }
  .lsc-section__head { align-items:flex-start; flex-direction:column; }
  .woocommerce ul.products { grid-template-columns:1fr 1fr; gap:28px 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
  .site-footer__grid { grid-template-columns:1fr; }
  .site-footer__bottom { flex-direction:column; }
  .lsc-whatsapp span { display:none; }
  .lsc-whatsapp { border-radius:50%; width:48px; height:48px; justify-content:center; padding:0; }
}


/* Included visual assets / 1.1 */
.lsc-demo-products { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.lsc-demo-product { background:#e6dfd3; overflow:hidden; }
.lsc-demo-product img { width:100%; aspect-ratio:1/1.18; object-fit:cover; transition:transform .35s ease; }
.lsc-demo-product:hover img { transform:scale(1.02); }
.lsc-demo-product__meta { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:14px 3px 0; background:var(--lsc-cream); }
.lsc-demo-product__meta strong { display:block; font-size:16px; }
.lsc-demo-product__meta span { color:#6d6962; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.lsc-demo-product__meta > span { color:#9a958d; }
.lsc-demo-note { margin:18px 0 0; color:#77736c; font-size:12px; }

.lsc-brand-story { display:grid; grid-template-columns:minmax(320px,.85fr) 1.15fr; min-height:720px; background:#090a0b; color:#fff; }
.lsc-brand-story__art { min-height:620px; display:grid; place-items:center; overflow:hidden; background:#000; }
.lsc-brand-story__art img { width:100%; height:100%; object-fit:cover; object-position:center; filter:contrast(1.04); }
.lsc-brand-story__copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(42px,7vw,110px); background:linear-gradient(135deg,#0b0d0f 0%,#131315 100%); }
.lsc-brand-story__copy h2 { font-size:clamp(64px,7vw,112px); line-height:.82; margin:0 0 26px; }
.lsc-brand-story__copy p { color:rgba(255,255,255,.72); font-size:clamp(18px,2vw,24px); max-width:650px; margin:0 0 30px; }

.lsc-lookbook-section .lsc-section__head a { color:rgba(255,255,255,.82); }
.lsc-lookbook { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:165px; gap:10px; }
.lsc-lookbook__item { margin:0; overflow:hidden; background:#1a1a1a; }
.lsc-lookbook__item img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease, filter .35s ease; }
.lsc-lookbook__item:hover img { transform:scale(1.025); filter:contrast(1.05); }
.lsc-lookbook__item--1 { grid-column:span 5; grid-row:span 3; }
.lsc-lookbook__item--2 { grid-column:span 3; grid-row:span 3; }
.lsc-lookbook__item--3 { grid-column:span 4; grid-row:span 3; }
.lsc-lookbook__item--4 { grid-column:span 4; grid-row:span 3; }
.lsc-lookbook__item--5 { grid-column:span 4; grid-row:span 3; }
.lsc-lookbook__item--6 { grid-column:span 4; grid-row:span 3; }

@media (max-width: 980px) {
  .lsc-brand-story { grid-template-columns:1fr 1fr; min-height:620px; }
  .lsc-lookbook { grid-template-columns:repeat(2,1fr); grid-auto-rows:360px; }
  .lsc-lookbook__item { grid-column:auto !important; grid-row:auto !important; }
}
@media (max-width: 620px) {
  .lsc-demo-products { grid-template-columns:1fr; }
  .lsc-brand-story { grid-template-columns:1fr; }
  .lsc-brand-story__art { min-height:540px; }
  .lsc-lookbook { grid-template-columns:1fr 1fr; grid-auto-rows:260px; gap:6px; }
  .lsc-brand-story__copy h2 { font-size:64px; }
}

/* 1.2: account, forms, mobile navigation and checkout */
:focus-visible { outline:3px solid #b44554; outline-offset:4px; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:999; background:#fff; color:#111; padding:12px 20px; }
.skip-link:focus { top:12px; }
.lsc-account-link { font-size:12px; white-space:nowrap; padding:10px 0; }
.lsc-newsletter { background:var(--lsc-cream); padding:52px 0; border-top:1px solid var(--lsc-line); }
.lsc-newsletter__grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.lsc-newsletter h2 { font-size:clamp(26px,4vw,42px); line-height:1.15; margin:0 0 12px; }
.lsc-newsletter p { margin:0; }
.lsc-newsletter input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select { width:100%; min-height:48px; padding:12px; border:1px solid var(--lsc-line); border-radius:2px; background:#fff; color:var(--lsc-ink); }
.lsc-newsletter input[type=submit], .lsc-newsletter button { background:var(--lsc-burgundy); color:white; border:0; padding:14px 22px; min-height:48px; cursor:pointer; }
.woocommerce-account .entry-content, .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content { max-width:none; font-size:16px; }
.woocommerce form.login, .woocommerce form.register { border:1px solid var(--lsc-line); padding:28px; background:white; border-radius:2px; }
.woocommerce-MyAccount-navigation ul { list-style:none; margin:0 0 24px; padding:0; border:1px solid var(--lsc-line); }
.woocommerce-MyAccount-navigation li a { display:block; padding:14px 18px; text-decoration:none; border-bottom:1px solid var(--lsc-line); }
.woocommerce-MyAccount-navigation li.is-active a { background:var(--lsc-black); color:#fff; }
.woocommerce-MyAccount-content { min-width:0; overflow-wrap:anywhere; }
.woocommerce-account .woocommerce::after { content:""; display:table; clear:both; }
.woocommerce div.product .product_title { font-family:Inter,Arial,sans-serif; font-size:clamp(28px,4vw,46px); line-height:1.15; }
.wc-block-cart, .wc-block-checkout { --wp--preset--color--contrast:var(--lsc-ink); --wp--preset--color--base:var(--lsc-paper); }
.wc-block-components-button:not(.is-link) { background:var(--lsc-burgundy); color:#fff; border-radius:2px; }
#engraving, #cultura { scroll-margin-top:100px; }
.admin-bar .site-header { top:32px; }
@media (max-width:980px) {
 .primary-nav { visibility:hidden; pointer-events:none; transform:none; transition:none; max-height:calc(100dvh - 86px); overflow:auto; }
 .primary-nav.is-open { visibility:visible; pointer-events:auto; }
 .nav-toggle { margin-left:auto; flex-shrink:0; }
 .site-header__inner { gap:14px; }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
@media (max-width:620px) {
 .site-title { font-size:28px; }
 .site-header__inner { gap:8px; }
 .header-actions { gap:6px; }
 .header-icon { width:30px; }
 .header-icon--search { display:grid; }
 .lsc-account-link { max-width:76px; white-space:normal; font-size:11px; line-height:1.3; }
 .nav-toggle { width:34px; padding:6px; }
 .lsc-hero { min-height:440px; min-height:clamp(420px,65svh,560px); }
 .lsc-hero h1 { font-size:clamp(46px,12vw,64px); }
 .lsc-hero__content { padding-bottom:46px; }
 .lsc-demo-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lsc-demo-product__meta { gap:6px; }
 .lsc-demo-product__meta strong { font-size:14px; }
 .lsc-demo-product__meta > span { display:none; }
 .lsc-brand-story__art { min-height:0; }
 .lsc-brand-story__art img { height:auto; object-fit:contain; }
 .lsc-brand-story__copy h2 { font-size:52px; }
 .lsc-lookbook { grid-auto-rows:220px; }
 .lsc-newsletter__grid { grid-template-columns:1fr; gap:24px; }
 .content-shell { padding:36px 0 64px; }
 .entry-title { font-size:44px; }
 .primary-nav { max-height:calc(100dvh - 118px); }
 .woocommerce form.login, .woocommerce form.register { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none!important; animation:none!important; } }

/* 1.3: original logo, stable sticky header and page navigation. */
.site-header { position:sticky; top:0; transform:none; }
.site-header.is-scrolled { box-shadow:0 4px 18px rgba(0,0,0,.2); }
.site-header__inner { position:relative; height:104px; }
.lsc-logo-link { display:block; flex-shrink:0; }
.lsc-logo { width:64px; height:86px; object-fit:contain; }
.lsc-footer-logo { width:105px; height:auto; object-fit:contain; }
.lsc-page-navigation { background:var(--lsc-cream); border-bottom:1px solid var(--lsc-line); }
.lsc-page-navigation__inner { display:flex; gap:24px; align-items:center; min-height:58px; padding-block:10px; }
.lsc-back { display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border:1px solid var(--lsc-line); font-size:13px; white-space:nowrap; }
.lsc-back:hover { background:var(--lsc-black); color:white; }
.lsc-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:12px; min-width:0; overflow-wrap:anywhere; }
.lsc-breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.site-footer .lsc-menu-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.lsc-back-top { position:fixed; left:18px; bottom:18px; z-index:49; display:flex; align-items:center; justify-content:center; gap:7px; min-width:48px; height:48px; padding:0 14px; background:var(--lsc-black); color:#fff; border:1px solid #777; opacity:0; visibility:hidden; pointer-events:none; font-size:13px; box-shadow:0 4px 18px #0002; }
.lsc-back-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
#site-top { scroll-margin-top:50px; }
#engraving, #cultura, #main-content { scroll-margin-top:120px; }
.primary-nav .sub-menu { position:absolute; display:none; padding:16px; background:var(--lsc-black); flex-direction:column; gap:14px; }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { display:flex; }
@media (max-width:980px) {
 .primary-nav { position:absolute; inset:100% calc(-1 * var(--lsc-gutter)) auto; max-height:calc(100dvh - 160px); padding:22px var(--lsc-gutter); transform:none; }
 .primary-nav .sub-menu { position:static; display:flex; padding:12px 0 0 18px; }
 .primary-nav a { display:inline-flex; min-height:40px; align-items:center; }
}
@media (max-width:620px) {
 .site-header__inner { height:88px; gap:10px; }
 .lsc-logo { width:51px; height:70px; }
 .header-actions { gap:9px; }
 .header-icon { width:36px; height:44px; }
 .nav-toggle { width:44px; height:44px; }
 .lsc-account-link { max-width:82px; font-size:12px; }
 .lsc-page-navigation__inner { gap:12px; }
 .lsc-breadcrumbs { font-size:11px; }
 #engraving, #cultura, #main-content { scroll-margin-top:100px; }
}
/* WordPress mobile admin bar scrolls away below 600px. */
@media (max-width:600px) { .admin-bar .site-header { top:0; } }
@media (max-width:360px) {
 .site-header__inner { gap:6px; }
 .header-actions { gap:6px; }
 .lsc-account-link { max-width:76px; }
}

/* ==========================================================
   LOS SANTOS CULTURE - DESTAQUES / CARROSSEL V5
   Usa scroll horizontal nativo: autoplay no desktop/celular,
   swipe natural no celular e setas somente em telas maiores.
   ========================================================== */
body.home .site-main .lsc-product-marquee {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-inline: 48px !important;
  overflow: hidden !important;
}

body.home .site-main .lsc-product-marquee > .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}
body.home .site-main .lsc-product-marquee > .woocommerce::-webkit-scrollbar {
  display: none;
}

body.home .site-main .lsc-product-marquee ul.products {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 20px !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 0 36px !important;
  padding: 0 !important;
  transform: none !important;
  animation: none !important;
  user-select: none;
  -webkit-user-select: none;
}
body.home .site-main .lsc-product-marquee ul.products::before,
body.home .site-main .lsc-product-marquee ul.products::after {
  display: none !important;
}
body.home .site-main .lsc-product-marquee ul.products > li.product {
  flex: 0 0 270px !important;
  width: 270px !important;
  max-width: 270px !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  text-align: left !important;
}
body.home .site-main .lsc-product-marquee ul.products > li.product a img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1.05 !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 0 12px 0 !important;
  -webkit-user-drag: none;
}
body.home .site-main .lsc-product-marquee .woocommerce-loop-product__title,
body.home .site-main .lsc-product-marquee .price {
  text-align: left !important;
}
body.home .site-main .lsc-product-marquee .button {
  margin-left: 0 !important;
}

/* Setas laterais no desktop/tablet. !important evita estilos genéricos do WooCommerce. */
body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow {
  position: absolute !important;
  top: 142px !important;
  bottom: auto !important;
  z-index: 50 !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 0 !important;
  background: rgba(11,13,15,.90) !important;
  color: #fff !important;
  font: 400 34px/1 Georgia, serif !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.18) !important;
  transition: background .18s ease, transform .18s ease, border-color .18s ease !important;
}
body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow--prev {
  left: 0 !important;
  right: auto !important;
}
body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow--next {
  right: 0 !important;
  left: auto !important;
}
body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow:hover,
body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow:focus-visible {
  background: var(--lsc-burgundy) !important;
  border-color: var(--lsc-burgundy) !important;
  outline: none !important;
}
body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow:active {
  transform: translateY(-50%) scale(.94) !important;
}

@media (max-width: 980px) {
  body.home .site-main .lsc-product-marquee { padding-inline: 42px !important; }
  body.home .site-main .lsc-product-marquee ul.products > li.product {
    flex-basis: 240px !important;
    width: 240px !important;
    max-width: 240px !important;
  }
  body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow {
    top: 126px !important;
  }
}

/* Celular: swipe/arraste nativo. Sem setas. */
@media (max-width: 620px) {
  body.home .site-main .lsc-product-marquee {
    padding-inline: 0 !important;
    overflow: visible !important;
  }
  body.home .site-main .lsc-product-marquee > .woocommerce {
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
  }
  body.home .site-main .lsc-product-marquee ul.products {
    gap: 12px !important;
    margin-bottom: 28px !important;
  }
  body.home .site-main .lsc-product-marquee ul.products > li.product {
    flex-basis: min(76vw, 250px) !important;
    width: min(76vw, 250px) !important;
    max-width: min(76vw, 250px) !important;
    scroll-snap-align: start;
  }
  body.home .site-main .lsc-product-marquee > button.lsc-marquee-arrow {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .site-main .lsc-product-marquee > .woocommerce {
    scroll-behavior: auto !important;
  }
}
