
:root{
  --bg:#FFFFFF;
  --text:#121212;
  --primary:#121212;
  --primary-label:#FFFFFF;
  --accent:#157487;
  --line:#E7E5E1;
  --muted:#5b5b5b;
  --surface:#F7F6F4;
  --radius:4px;
  --maxw:1160px;
  font-family:'Assistant',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Assistant',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;font-size:16px;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
a.link-accent{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
h1,h2,h3,h4{font-weight:600;line-height:1.2;margin:0 0 .6em;}
h1{font-size:clamp(28px,4vw,44px);font-weight:700;}
h2{font-size:clamp(22px,3vw,30px);}
h3{font-size:19px;}
p{margin:0 0 1em;}
.muted{color:var(--muted);}
.eyebrow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 10px;}

/* Header — two-row Dawn-style header mirroring monteverdestones.com */
.site-header{position:sticky;top:0;background:#FFFFFF;z-index:50;}
.header-row1{border-bottom:1px solid var(--line);}
.header-row1 .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;}
.header-row2{border-bottom:1px solid var(--line);background:#FFFFFF;}
.header-row2 .wrap{display:flex;align-items:center;justify-content:center;gap:32px;min-height:52px;}

/* Logo lockup: S-icon + SVG wordmark (both words locked to one aligned width) */
.brand-lockup{display:flex;align-items:center;gap:12px;}
.brand-lockup .s-icon{width:44px;height:44px;flex:none;}
/* SVG wordmark — "Monteverde" light over "Fósiles" heavier+larger, textLength
   forces BOTH lines to the same width: one centered, aligned block that copies
   the parent Monteverde Stones lockup, with thinner letters. */
.wm-svg{display:block;height:40px;width:auto;}

/* Row 1 utility cluster: locale + search + WhatsApp */
.header-utils{display:flex;align-items:center;gap:14px;}
.header-utils .locale{font-size:14px;letter-spacing:.02em;color:var(--text);white-space:nowrap;}
.header-utils .util-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--text);background:none;border:0;padding:0;cursor:pointer;}
.header-utils .util-icon svg{width:22px;height:22px;}
.header-utils .util-icon.wa{color:#25D366;}
.header-utils .util-icon:hover{background:var(--surface);}
.header-utils .util-icon[aria-expanded="true"]{background:var(--surface);color:var(--accent);}

/* Search — mirrors the Dawn search-modal on monteverdestones.com: full-width
   white panel with a bordered field + magnifying-glass submit + close ✕, a
   predictive dropdown, and a dimmed overlay over the rest of the page. */
.search-panel{border-top:1px solid var(--line);background:#fff;position:relative;z-index:52;}
.search-panel[hidden]{display:none;}
.search-inner{display:flex;align-items:center;gap:8px;padding:16px 20px;}
.search-field{position:relative;flex:1;min-width:0;display:flex;align-items:center;border:1px solid var(--line);background:#fff;}
.search-field:focus-within{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text);}
.search-input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--text);padding:13px 15px;}
.search-input::placeholder{color:var(--muted);}
.search-submit{flex:none;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--text);}
.search-submit svg{width:20px;height:20px;}
.search-close{flex:none;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--text);}
.search-close svg{width:22px;height:22px;}
.search-submit:hover,.search-close:hover{color:var(--accent);}
/* Predictive results as a dropdown anchored under the field */
.search-results{list-style:none;margin:0;padding:0;position:absolute;top:calc(100% - 1px);left:0;right:0;background:#fff;border:1px solid var(--line);max-height:min(64vh,440px);overflow-y:auto;z-index:5;box-shadow:0 14px 28px rgba(18,18,18,.12);}
.search-results:empty{display:none;}
.search-results a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 15px;border-top:1px solid var(--line);}
.search-results li:first-child a{border-top:0;}
.search-results a:hover{background:var(--surface);}
.search-results .r-title{font-size:15px;color:var(--text);}
.search-results .r-type{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.search-empty{padding:14px 15px;color:var(--muted);font-size:14px;}
.search-overlay{position:fixed;inset:0;background:rgba(18,18,18,.4);z-index:40;border:0;padding:0;margin:0;cursor:default;}
.search-overlay[hidden]{display:none;}

/* Row 2 nav — grotesque, uppercase, letter-spaced (Inter), centered as one airy group */
/* Nav grotesque stack mirrors the live monteverdestones.com menu font stack
   (Akzidenz-Grotesk brand face → Inter is the actually-loaded webfont fallback). */
nav.main-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:30px;font-family:'Akzidenz-Grotesk','Inter','Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,Helvetica,sans-serif;}
nav.main-nav a{font-size:14px;font-weight:400;letter-spacing:.6px;text-transform:uppercase;color:#121212;white-space:nowrap;}
nav.main-nav a:hover{color:var(--accent);}
nav.main-nav a.current{color:var(--accent);}
/* Store link is a plain nav item (no box/pill), teal to set it apart */
.nav-storelink{font-size:14px;font-weight:400;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
.nav-storelink:hover{color:#0f5b6a;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0;}

@media (max-width:900px){
  /* display:contents removes the row-2 bar box WITHOUT hiding its descendant drawer
     (display:none on an ancestor would kill the fixed drawer, breaking mobile nav) */
  .header-row2, .header-row2 .wrap{display:contents;}
  nav.main-nav{position:fixed;inset:93px 0 0 0;background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:24px 20px;gap:4px;display:none;overflow-y:auto;z-index:60;}
  nav.main-nav.open{display:flex;}
  nav.main-nav a{padding:14px 0;width:100%;border-bottom:1px solid var(--line);font-size:18px;white-space:normal;}
  nav.main-nav .nav-storelink{font-size:14px;color:var(--accent);}
  .nav-storelink{margin-top:12px;}
  .nav-toggle{display:block;}
  /* declutter row-1 utilities on mobile so the hamburger always fits */
  .header-utils{gap:8px;}
  .header-utils .locale{display:none;}
  .header-utils .util-icon.wa{display:none;}
}

/* Legacy light hero (kept for non-home pages if referenced) */
.hero{padding:64px 0 48px;border-bottom:1px solid var(--line);}
.hero .eyebrow{margin-bottom:14px;}
.hero h1{max-width:760px;}
.hero p.lead{max-width:600px;font-size:18px;color:var(--muted);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

/* Home hero — full-bleed dark, centered, mirroring the parent banner */
.home-hero{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:#121212;}
.home-hero .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05);}
/* Cross-fade product carousel: stacked slides, only .is-active is opaque. */
.home-hero .hero-slides{position:absolute;inset:0;z-index:0;}
.home-hero .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;will-change:opacity;}
/* Blurred, zoomed copy fills the frame edge-to-edge (no empty bands on any aspect ratio). */
.home-hero .hero-slide::before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;filter:blur(28px) saturate(1.15);transform:scale(1.14);}
/* Sharp, fully-visible specimen on top — never cropped, looks right on every viewport. */
.home-hero .hero-slide::after{content:"";position:absolute;inset:0;background-image:var(--img);background-size:contain;background-position:center;background-repeat:no-repeat;}
.home-hero .hero-slide.is-active{opacity:1;}
.home-hero .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,10,.45),rgba(10,10,10,.62));}
.home-hero .hero-inner{position:relative;z-index:2;max-width:820px;padding:80px 20px;}
/* Carousel nav dots */
.home-hero .hero-dots{position:absolute;left:0;right:0;bottom:22px;z-index:3;display:flex;gap:10px;justify-content:center;}
.home-hero .hero-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.4);transition:background .25s,transform .25s;}
.home-hero .hero-dot:hover{background:rgba(255,255,255,.7);}
.home-hero .hero-dot.is-active{background:#fff;transform:scale(1.25);}
@media (prefers-reduced-motion:reduce){.home-hero .hero-slide{transition:none;}}
.home-hero .hero-icon{width:76px;height:76px;margin:0 auto 20px;opacity:.95;}
.home-hero .hero-icon img{width:100%;height:100%;filter:brightness(0) invert(1);}
/* Hero wordmark = the same aligned SVG lockup, scaled up and drawn white. */
.home-hero .wm-hero{width:min(460px,84vw);height:auto;margin:6px auto 0;}
.home-hero p.hero-tag{margin:22px auto 30px;max-width:560px;font-size:18px;color:rgba(255,255,255,.9);}
/* Location link inside the hero tag: white + underline stays legible on the dark hero. */
.home-hero p.hero-tag a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
.home-hero .hero-actions{justify-content:center;}

/* Buttons — Dawn teal, square corners, uppercase */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:2px;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--accent);cursor:pointer;line-height:1;}
.btn-primary{background:var(--accent);color:#FFFFFF;}
.btn-primary:hover{background:#0f5b6a;border-color:#0f5b6a;}
.btn-outline{background:transparent;color:var(--text);border-color:var(--primary);}
.btn-outline:hover{background:var(--surface);}
.home-hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.7);}
.home-hero .btn-outline:hover{background:rgba(255,255,255,.12);}
.btn svg{width:18px;height:18px;flex:none;}

/* Sections */
section{padding:56px 0;}
section.tight{padding:32px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap;}
.section-head a{font-weight:600;font-size:14px;}

/* Fossil grid + cards */
.fossil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;}
.fossil-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .15s ease,transform .15s ease;}
.fossil-card:hover{box-shadow:0 10px 24px rgba(18,18,18,.08);transform:translateY(-2px);}
.fossil-card .thumb{aspect-ratio:1/1;background:var(--surface);overflow:hidden;position:relative;}
.fossil-card.is-sold .thumb img{opacity:.72;}
.fossil-card .thumb img{width:100%;height:100%;object-fit:cover;}
.fossil-card .body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.fossil-card h3{font-size:16px;margin:0;}
.fossil-card .price{font-weight:700;font-size:16px;}
.fossil-card .dim{font-size:13px;color:var(--muted);}
.fossil-card .wa-btn{margin-top:auto;padding-top:10px;}
.fossil-card .btn{width:100%;justify-content:center;padding:11px 16px;font-size:14px;}

/* Category index tiles */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;}
.category-tile{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:block;background:#fff;transition:box-shadow .15s ease,transform .15s ease;}
.category-tile:hover{box-shadow:0 10px 24px rgba(18,18,18,.08);transform:translateY(-2px);}
.category-tile .thumb{aspect-ratio:1/1;background:var(--surface);overflow:hidden;}
.category-tile .thumb img{width:100%;height:100%;object-fit:cover;}
.category-tile .meta{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.category-tile h3{font-size:16px;margin:0;}
.category-tile .count{font-size:13px;color:var(--muted);white-space:nowrap;}

/* Category link on fossil detail */
.cat-link{margin:2px 0 14px;font-size:14px;}

/* "¿Sabías qué?" video embed (category pages, responsive 16:9) */
.video-section{max-width:760px;margin:0 auto 8px;}
.video-section .eyebrow{margin-bottom:10px;}
.video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:var(--surface);border-radius:var(--radius);overflow:hidden;}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-caption{margin-top:12px;font-size:14px;color:var(--muted);}

/* Detail page */
.detail{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;}
@media (max-width:800px){.detail{grid-template-columns:1fr;gap:28px;}}
.gallery-main{aspect-ratio:1/1;background:var(--surface);border-radius:var(--radius);overflow:hidden;margin-bottom:10px;position:relative;}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;}
/* Sold / VENDIDO tag */
.sold-ribbon{position:absolute;top:12px;left:12px;z-index:2;background:#b02a1e;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.sold-ribbon-lg{top:16px;left:16px;font-size:14px;padding:7px 16px;}
.badge-sold{display:inline-block;vertical-align:middle;margin-left:10px;background:#b02a1e;color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 12px;border-radius:999px;}
.sold-note{background:var(--surface);border:1px solid var(--line);border-left:3px solid #b02a1e;border-radius:8px;padding:12px 14px;font-size:14px;color:var(--muted);margin:0 0 18px;}
.gallery-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid var(--line);cursor:pointer;}
.gallery-thumbs img.active{border-color:var(--accent);border-width:2px;}
.detail-price{font-size:28px;font-weight:700;margin:6px 0 18px;}
.detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.badge{display:inline-block;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--muted);}
.detail-sku{font-size:13px;color:var(--muted);margin:-8px 0 20px;letter-spacing:.02em;}
.detail-sku span{color:var(--text);font-weight:600;}
.detail-desc{font-size:16px;}
.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0;}
.back-link{display:inline-block;margin-bottom:22px;font-weight:600;font-size:14px;}
.back-link:hover{color:var(--accent);}

/* Team / content blocks */
.content-block h2{margin-top:1.4em;}
.content-block h2:first-child{margin-top:0;}
.content-block{max-width:760px;}
.somos-figure{margin:24px auto;max-width:440px;}
/* width:auto never upscales a small logo; max-width:100% caps big portraits + stays responsive */
.somos-figure img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;border-radius:var(--radius);border:1px solid var(--line);}
/* Stacked brand lockup on Somos: S-icon centered on top, wordmark centered below.
   Block layout (not flex) + max-width:none on the icon so the .somos-figure img
   rule can't clamp the <img> to 0 inside a shrink-wrapped parent. */
.somos-figure.somos-brand{max-width:none;border:0;text-align:center;}
.brand-stack{display:block;}
.brand-stack .s-icon{display:block;width:132px;height:132px;max-width:none;border:0;border-radius:0;margin:0 auto 18px;}
.brand-stack .wm-stack{display:block;height:82px;width:auto;margin:0 auto;}
/* Facebook logo: small clickable social icon, not a full-width figure */
.somos-figure.somos-fb{max-width:none;margin:16px auto;}
.somos-figure.somos-fb a{display:inline-block;line-height:0;}
.somos-figure.somos-fb img{width:40px;height:40px;max-width:none;border:0;border-radius:8px;}

/* Locations */
.region{margin-bottom:40px;}
.region h2{border-bottom:2px solid var(--accent);display:inline-block;padding-bottom:6px;}
.venue-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:20px;}
.venue{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;}
.venue h3{margin-bottom:8px;}
.venue .links{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:8px;}
.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;}
.contact-card h3{margin-bottom:10px;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.contact-card .value{font-size:18px;font-weight:600;}

/* Blog */
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;}
.article-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;}
/* display:block so aspect-ratio applies — the thumb is an <a>, and inline
   anchors ignore aspect-ratio, which stretched cards tall and pushed the title
   far below the image (looked title-less). */
.article-card .thumb{display:block;aspect-ratio:16/9;background:var(--surface);overflow:hidden;}
.article-card .thumb img{width:100%;height:100%;object-fit:contain;}
.article-card .body{padding:16px;}
.article-card h3{font-size:16px;margin-bottom:6px;}
.article-card .date{font-size:13px;color:var(--muted);}
.article-list-light{border-top:1px solid var(--line);margin-top:16px;}
.article-list-light .row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}
.article-list-light .row .t{font-weight:600;}
.article-list-light .row .d{color:var(--muted);font-size:13px;white-space:nowrap;}
.article-body{max-width:740px;}
.article-body img{border-radius:var(--radius);margin:18px 0;}
.article-body h2{margin-top:1.4em;}
.article-body iframe{max-width:100%;}
.article-hero{aspect-ratio:16/9;background:var(--surface);border-radius:var(--radius);overflow:hidden;margin-bottom:24px;}
.article-hero img{width:100%;height:100%;object-fit:cover;}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:60px;padding:48px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1.1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px;}
.footer-grid a,.footer-grid p{display:block;margin-bottom:8px;font-size:14.5px;}
/* Location links sit inline inside a sentence/address — override the block rule above. */
.footer-grid p a{display:inline;margin:0;font-size:inherit;}
.footer-storelink{font-weight:700;color:var(--accent);}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* Floating WhatsApp button (every page, bottom-right) */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:80;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.24);transition:transform .15s ease,box-shadow .15s ease;}
.wa-float:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.30);}
.wa-float svg{width:32px;height:32px;}

/* Empty state */
.empty-state{padding:60px 0;text-align:center;color:var(--muted);}

/* 404 */
.error-page{padding:100px 0;text-align:center;}
