:root { --black:#080808; --ink:#151515; --gray:#777; --line:#e4e4e4; --paper:#f5f5f3; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.container { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; color:var(--white); background:rgba(8,8,8,.92); border-bottom:1px solid #242424; backdrop-filter:blur(14px); }
.nav-wrap { min-height:76px; display:flex; align-items:center; justify-content:space-between; }
.brand { font-size:1.3rem; font-weight:800; letter-spacing:.14em; }
.brand span { color:#9b9b9b; }
.main-nav { display:flex; align-items:center; gap:32px; font-size:.9rem; }
.main-nav a { color:#bdbdbd; transition:.2s; }
.main-nav a:hover { color:#fff; }
.main-nav .nav-cta { color:#111; background:#fff; padding:10px 18px; border-radius:999px; }
.menu-button { display:none; color:#fff; background:transparent; border:0; font-size:1.4rem; }
.hero { overflow:hidden; min-height:650px; color:#fff; background:var(--black); }
.hero-grid { min-height:650px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:40px; }
.eyebrow { display:block; margin-bottom:18px; color:#999; font-size:.72rem; font-weight:700; letter-spacing:.2em; }
.eyebrow.dark { color:#777; }
.hero h1,.page-shell h1 { margin:0 0 24px; font-size:clamp(2.8rem,6vw,5.4rem); line-height:1.02; letter-spacing:-.055em; }
.hero h1 span { color:#777; }
.hero p { max-width:590px; margin:0 0 34px; color:#a8a8a8; font-size:1.08rem; }
.button { display:inline-flex; align-items:center; gap:36px; padding:14px 20px; border:0; border-radius:2px; font:inherit; font-size:.9rem; font-weight:650; cursor:pointer; }
.button-light { color:#111; background:#fff; }
.button-dark { color:#fff; background:#111; }
.button:disabled { cursor:not-allowed; opacity:.5; }
.hero-visual { position:relative; aspect-ratio:1; display:grid; place-items:center; }
.hero-visual > span { position:relative; z-index:2; font-weight:800; letter-spacing:.4em; }
.orb { position:absolute; width:64%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 25%,#aaa 0,#3b3b3b 32%,#111 69%); box-shadow:0 0 80px #5553; }
.grid-lines { position:absolute; inset:8%; opacity:.18; transform:perspective(500px) rotateX(58deg); background-image:linear-gradient(#aaa 1px,transparent 1px),linear-gradient(90deg,#aaa 1px,transparent 1px); background-size:34px 34px; }
.products-section { padding:110px 0; background:var(--paper); }
.section-heading { margin-bottom:45px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.section-heading h2 { margin:0; font-size:clamp(2.2rem,4vw,3.4rem); letter-spacing:-.04em; }
.section-heading p { max-width:390px; margin:0; color:var(--gray); }
.empty-state { padding:80px 20px; text-align:center; background:#fff; border:1px solid var(--line); }
.empty-icon { margin-bottom:12px; color:#999; font-size:2.8rem; }
.empty-state h3 { margin:0 0 8px; font-size:1.4rem; }
.empty-state p { margin:0; color:var(--gray); }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product-card { background:#fff; border:1px solid var(--line); }
.product-image { aspect-ratio:1; display:grid; place-items:center; overflow:hidden; color:#aaa; background:#ebebe8; font-weight:800; letter-spacing:.2em; }
.product-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.product-card:hover img { transform:scale(1.03); }
.product-info { padding:22px; }
.product-info h3 { margin:0 0 8px; }
.product-info p { min-height:52px; margin:0 0 16px; color:var(--gray); }
.product-placeholder { display:inline-flex; align-items:center; color:#333; font-size:1.1rem; font-weight:800; letter-spacing:.2em; }
.product-placeholder span { color:#999; }
.product-placeholder.large { font-size:1.7rem; }
.product-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.stock-state { padding:5px 9px; border-radius:999px; font-size:.75rem; white-space:nowrap; }
.stock-state.in-stock { color:#28663a; background:#e3f2e7; }
.stock-state.out-of-stock { color:#777; background:#e8e8e8; }
.product-link { margin-top:20px; padding-top:16px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:.86rem; font-weight:650; }
.product-detail { min-height:680px; padding:90px 0; background:var(--paper); }
.product-detail-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:70px; align-items:start; }
.product-detail-image { aspect-ratio:1; display:grid; place-items:center; overflow:hidden; background:#e9e9e6; border:1px solid var(--line); }
.product-detail-image img { width:100%; height:100%; object-fit:cover; }
.product-detail-content { padding-top:10px; }
.back-link { display:inline-block; margin-bottom:50px; color:#777; font-size:.85rem; }
.product-detail-content h1 { margin:0 0 20px; font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.03; letter-spacing:-.05em; overflow-wrap:anywhere; }
.detail-lead { margin:0 0 28px; color:#666; font-size:1.06rem; }
.detail-price-row { padding:22px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #d8d8d8; border-bottom:1px solid #d8d8d8; }
.detail-price-row > strong { font-size:1.5rem; }
.product-description { padding:28px 0; color:#555; }
.order-area { margin-top:10px; }
.whatsapp-button { color:#fff; background:#111; }
.order-note,.order-unavailable { padding:15px 18px; color:#666; background:#e8e8e5; border:1px solid #d8d8d4; }
.order-unavailable { color:#777; font-weight:700; }
.page-shell { min-height:620px; padding:110px 0; background:var(--paper); }
.narrow { max-width:760px; }
.page-shell h1 { font-size:clamp(2.7rem,6vw,4.8rem); }
.page-shell > .container > p { margin:0 0 30px; color:var(--gray); font-size:1.08rem; }
.placeholder-form { max-width:520px; margin-top:35px; padding:28px; display:grid; gap:18px; background:#fff; border:1px solid var(--line); }
.placeholder-form label { display:grid; gap:7px; font-size:.85rem; font-weight:650; }
.placeholder-form input { width:100%; padding:13px; border:1px solid #ddd; background:#f7f7f7; font:inherit; }
.placeholder-form > a { color:var(--gray); font-size:.85rem; text-decoration:underline; }
.auth-form { max-width:520px; margin-top:35px; padding:28px; display:grid; gap:18px; background:#fff; border:1px solid var(--line); }
.auth-form label { display:grid; gap:7px; font-size:.85rem; font-weight:650; }
.auth-form input { width:100%; padding:13px; border:1px solid #ddd; background:#f7f7f7; font:inherit; }
.auth-form label small { color:#888; font-weight:400; }
.auth-form > a { color:var(--gray); font-size:.85rem; text-decoration:underline; }
.nav-user { color:#fff; font-size:.86rem; }
.site-footer { padding:52px 0; color:#aaa; background:#080808; }
.footer-wrap { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:45px; }
.footer-wrap p { margin:0; }
.footer-wrap small { color:#666; }
.admin-shell { min-height:650px; padding:80px 0; background:var(--paper); }
.admin-heading { margin-bottom:32px; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.admin-heading h1 { margin:0; font-size:clamp(2.3rem,5vw,4rem); line-height:1; letter-spacing:-.05em; }
.admin-heading-actions { display:flex; align-items:center; gap:20px; }
.admin-heading-actions > a:not(.button) { color:#666; font-size:.9rem; text-decoration:underline; }
.notice { margin-bottom:24px; padding:14px 18px; border:1px solid; background:#fff; }
.notice.success { color:#245c35; border-color:#a9d2b5; }
.notice.warning { color:#765a16; border-color:#dfc980; }
.notice.error { color:#8b2424; border-color:#dfaaaa; }
.notice ul { margin:0; padding-left:20px; }
.admin-table-wrap { overflow-x:auto; background:#fff; border:1px solid var(--line); }
.admin-table { width:100%; border-collapse:collapse; min-width:760px; }
.admin-table th,.admin-table td { padding:16px; text-align:left; border-bottom:1px solid var(--line); }
.admin-table th { color:#777; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.category-table { min-width:560px; }
.admin-table td small { display:block; color:#888; }
.admin-thumb { width:60px; height:60px; display:grid; place-items:center; overflow:hidden; color:#999; background:#eee; font-size:.72rem; font-weight:800; }
.admin-thumb img { width:100%; height:100%; object-fit:cover; }
.status { padding:5px 9px; border-radius:999px; font-size:.75rem; }
.status.active { color:#28663a; background:#e3f2e7; }
.status.passive { color:#666; background:#eee; }
.table-actions { display:flex; align-items:center; gap:15px; }
.table-actions form { margin:0; }
.table-actions a,.table-actions button { padding:0; color:#555; background:0; border:0; font:inherit; font-size:.85rem; text-decoration:underline; cursor:pointer; }
.table-actions button { color:#9a2929; }
.admin-form-container { max-width:900px; }
.admin-form { padding:30px; background:#fff; border:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:26px; }
.form-grid label { display:grid; gap:7px; font-size:.84rem; font-weight:650; }
.form-grid .full { grid-column:1/-1; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:12px 13px; border:1px solid #d8d8d8; background:#fafafa; font:inherit; }
.form-grid textarea { resize:vertical; }
.form-grid label small { color:#888; font-weight:400; }
.form-grid .check-label { display:flex; grid-template-columns:auto 1fr; align-items:center; }
.form-grid .check-label input { width:auto; }
.current-image { display:flex; align-items:center; gap:14px; color:#777; font-size:.84rem; }
.current-image img { width:90px; height:90px; object-fit:cover; border:1px solid var(--line); }
@media (max-width:820px) {
  .container { width:min(100% - 28px,1160px); }
  .menu-button { display:block; }
  .main-nav { position:absolute; top:68px; left:0; right:0; padding:22px; display:none; flex-direction:column; align-items:stretch; gap:18px; background:#111; border-bottom:1px solid #333; }
  .main-nav.is-open { display:flex; }
  .hero,.hero-grid { min-height:auto; }
  .hero-grid { padding:90px 0 55px; grid-template-columns:1fr; }
  .hero-visual { max-width:430px; width:100%; margin:auto; }
  .products-section,.page-shell { padding:75px 0; }
  .section-heading { align-items:start; flex-direction:column; }
  .product-grid { grid-template-columns:1fr; }
  .product-detail { padding:50px 0 70px; }
  .product-detail-grid { grid-template-columns:1fr; gap:38px; }
  .back-link { margin-bottom:30px; }
  .footer-wrap { grid-template-columns:1fr; gap:14px; }
  .admin-shell { padding:55px 0; }
  .admin-heading { align-items:start; flex-direction:column; }
  .admin-heading-actions { width:100%; justify-content:space-between; }
  .admin-form { padding:20px; }
  .form-grid { grid-template-columns:1fr; }
}

/* Home storefront */
.site-header { background:#0a0a0a; border-bottom:1px solid #242424; backdrop-filter:none; }
.nav-wrap { min-height:68px; }
.brand { font-size:1.15rem; letter-spacing:.16em; }
.main-nav { gap:28px; }
.main-nav .nav-cta { padding:9px 17px; border-radius:0; }
.home-hero { color:#fff; background:#090909; border-bottom:1px solid #202020; }
.home-hero-inner { min-height:clamp(590px,78vh,820px); padding:110px 0 90px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.home-hero .eyebrow { margin-bottom:30px; color:#7e7e7e; }
.home-hero h1 { max-width:1050px; margin:0; font-size:clamp(4rem,8.7vw,8.2rem); line-height:.91; letter-spacing:-.072em; font-weight:650; }
.home-hero h1 span { color:#777; }
.home-hero p { max-width:570px; margin:38px 0 0; color:#a0a0a0; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.65; }
.home-hero-cta { margin-top:40px; padding:13px 0; color:#fff; background:transparent; border-bottom:1px solid #777; }
.home-hero-cta:hover { border-color:#fff; }
.home-products { padding:130px 0 145px; background:#f7f7f5; }
.home-products .section-heading { margin-bottom:60px; padding-bottom:28px; border-bottom:1px solid #d8d8d5; }
.home-products .section-heading h2 { font-size:clamp(2.7rem,5vw,4.7rem); font-weight:600; }
.home-products .product-grid { gap:54px 28px; }
.home-products .product-card { display:flex; flex-direction:column; background:transparent; border:0; }
.home-products .product-image { aspect-ratio:1/1.08; background:#e9e9e6; border:0; }
.home-products .product-image img { transition:transform .35s ease; }
.home-products .product-card:hover img { transform:scale(1.018); }
.home-products .product-info { padding:22px 2px 0; }
.home-products .product-info h3 { margin-bottom:8px; font-size:1.12rem; letter-spacing:-.02em; }
.home-products .product-info p { min-height:48px; margin-bottom:16px; color:#737373; font-size:.92rem; line-height:1.55; }
.home-products .product-meta strong { font-size:1rem; letter-spacing:-.01em; }
.home-products .stock-state { padding:0; color:#777; background:transparent; border-radius:0; }
.home-products .stock-state.in-stock { color:#4f6556; }
.home-products .stock-state.out-of-stock { color:#888; }
.home-products .product-link { margin-top:18px; padding-top:14px; color:#444; border-color:#d4d4d1; }
.home-products .product-link:hover { color:#000; }
.brand-statement { padding:150px 0; color:#fff; background:#111; }
.brand-statement-inner { display:grid; grid-template-columns:.65fr 1.2fr 1fr; align-items:start; gap:50px; }
.brand-statement .eyebrow { margin-top:12px; color:#747474; }
.brand-statement h2 { margin:0; font-size:clamp(3rem,6vw,6rem); line-height:.95; letter-spacing:-.06em; font-weight:600; }
.brand-statement p { max-width:430px; margin:12px 0 0; color:#999; font-size:1.02rem; line-height:1.75; }
.site-footer { padding:58px 0 32px; border-top:1px solid #222; }
.footer-wrap { grid-template-columns:1fr auto; align-items:start; gap:55px; }
.footer-brand p { max-width:360px; margin:14px 0 0; color:#777; font-size:.9rem; }
.footer-nav { display:flex; gap:30px; color:#a0a0a0; font-size:.86rem; }
.footer-nav a:hover { color:#fff; }
.footer-wrap small { grid-column:1/-1; padding-top:28px; border-top:1px solid #222; }

@media (max-width:1024px) {
  .home-hero h1 { font-size:clamp(4rem,10.5vw,7rem); }
  .home-products .product-grid { grid-template-columns:repeat(2,1fr); }
  .brand-statement-inner { grid-template-columns:1fr 2fr; }
  .brand-statement p { grid-column:2; }
}

@media (max-width:760px) {
  .nav-wrap { min-height:64px; }
  .main-nav { top:64px; }
  .home-hero-inner { min-height:620px; padding:90px 0 70px; }
  .home-hero .eyebrow { margin-bottom:24px; }
  .home-hero h1 { font-size:clamp(3.35rem,15vw,5.5rem); line-height:.94; letter-spacing:-.065em; }
  .home-hero p { margin-top:30px; }
  .home-hero-cta { width:100%; justify-content:space-between; }
  .home-products { padding:90px 0 100px; }
  .home-products .section-heading { margin-bottom:40px; }
  .home-products .product-grid { grid-template-columns:1fr; gap:48px; }
  .home-products .product-image { aspect-ratio:1; }
  .brand-statement { padding:95px 0; }
  .brand-statement-inner { grid-template-columns:1fr; gap:25px; }
  .brand-statement p { grid-column:auto; margin-top:0; }
  .footer-wrap { grid-template-columns:1fr; gap:32px; }
  .footer-nav { flex-wrap:wrap; gap:16px 25px; }
  .footer-wrap small { grid-column:auto; width:100%; }
}

@media (max-width:430px) {
  .container { width:calc(100% - 32px); }
  .home-hero-inner { min-height:590px; }
  .home-hero h1 { font-size:clamp(3rem,15.5vw,4.15rem); }
  .home-products .section-heading p { font-size:.92rem; }
  .brand-statement h2 { font-size:clamp(2.8rem,14vw,4rem); }
}
