/*
Theme Name: The Hidden Curio
Theme URI: https://thehiddencurio.co.uk
Author: OpenAI for The Hidden Curio
Description: A premium editorial WordPress theme for curated product discoveries, gift guides and design-led affiliate content.
Version: 6.4
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: hidden-curio
*/

:root {
  --hc-ivory: #F8F5EC;
  --hc-green: #20352A;
  --hc-gold: #B68A3C;
  --hc-muted: #7A7B72;
  --hc-white: #FFFDF8;
  --hc-border: rgba(32,53,42,.14);
  --hc-shadow: 0 20px 55px rgba(32,53,42,.10);
  --hc-radius: 18px;
  --hc-max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--hc-ivory);
  color: var(--hc-green);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
}
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }

.hc-wrap { width: min(calc(100% - 40px), var(--hc-max)); margin-inline: auto; }
.hc-serif, h1, h2, h3, h4 { font-family: "Cormorant Garamond", Georgia, serif; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(248,245,236,.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--hc-border);
}
.site-header__inner {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.site-branding { display:flex; align-items:center; gap:14px; text-decoration:none; }
.custom-logo { max-height: 68px; width: auto; }
.site-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 30px; letter-spacing: .03em; margin:0; }
.site-tagline { color: var(--hc-muted); margin:0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.primary-menu { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:28px; }
.primary-menu a { text-decoration:none; font-size:15px; position:relative; }
.primary-menu a::after { content:""; position:absolute; left:0; bottom:-7px; height:1px; width:0; background:var(--hc-gold); transition:.25s; }
.primary-menu a:hover::after, .primary-menu .current-menu-item a::after { width:100%; }
.menu-toggle { display:none; background:none; border:1px solid var(--hc-border); padding:8px 12px; border-radius:8px; }

.hc-hero { padding: 95px 0 110px; }
.hc-hero__grid { display:grid; grid-template-columns: 1fr 1.1fr; gap:78px; align-items:center; }
.hc-kicker { color:var(--hc-gold); letter-spacing:.28em; text-transform:uppercase; font-size:12px; font-weight:600; }
.hc-hero h1 { font-size: clamp(58px, 7vw, 98px); line-height:.92; margin:22px 0 28px; font-weight:500; }
.hc-hero h1 em { display:block; font-weight:400; }
.hc-lead { max-width: 640px; font-size:18px; color:#34473d; }
.hc-button { display:inline-flex; align-items:center; gap:10px; background:var(--hc-green); color:white; text-decoration:none; padding:16px 27px; border-radius:10px; margin-top:25px; transition:.25s; border:1px solid var(--hc-green); }
.hc-button:hover { background:var(--hc-gold); border-color:var(--hc-gold); transform:translateY(-2px); }
.hc-button--outline { background:transparent; color:var(--hc-green); border-color:var(--hc-gold); }
.hc-media { border-radius:var(--hc-radius); overflow:hidden; box-shadow:var(--hc-shadow); background:#ebe4d5; aspect-ratio: 4 / 3; }
.hc-media img { width:100%; height:100%; object-fit:cover; }

.hc-section { padding: 95px 0; }
.hc-section--soft { background: rgba(255,255,255,.36); }
.hc-section--green { background: var(--hc-green); color: var(--hc-ivory); }
.hc-section__head { text-align:center; max-width:760px; margin:0 auto 48px; }
.hc-section__head h2 { font-size: clamp(44px, 5vw, 68px); margin:10px 0 12px; font-weight:500; }
.hc-flourish { width:150px; height:18px; margin:18px auto 0; position:relative; }
.hc-flourish::before, .hc-flourish::after { content:""; position:absolute; top:8px; width:58px; height:1px; background:var(--hc-gold); }
.hc-flourish::before { left:0; }
.hc-flourish::after { right:0; }
.hc-flourish span { position:absolute; left:50%; top:3px; width:10px; height:10px; transform:translateX(-50%) rotate(45deg); border:1px solid var(--hc-gold); }

.hc-grid { display:grid; gap:28px; }
.hc-grid--3 { grid-template-columns:repeat(3,1fr); }
.hc-grid--2 { grid-template-columns:repeat(2,1fr); }
.hc-card { background:rgba(255,255,255,.62); border:1px solid var(--hc-border); border-radius:16px; overflow:hidden; box-shadow:0 10px 25px rgba(32,53,42,.06); }
.hc-card__image { aspect-ratio: 4 / 3; overflow:hidden; }
.hc-card__image img { width:100%; height:100%; object-fit:cover; transition:.4s; }
.hc-card:hover img { transform:scale(1.025); }
.hc-card__body { padding:26px; }
.hc-card h3 { font-size:32px; margin:4px 0 10px; font-weight:500; }
.hc-card p { margin:0 0 16px; color:#48594f; }
.hc-card a { text-decoration:none; }

.hc-category { padding:30px; min-height:220px; display:flex; flex-direction:column; justify-content:flex-end; }
.hc-category small { color:var(--hc-gold); letter-spacing:.2em; text-transform:uppercase; }

.hc-split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.hc-split--reverse .hc-split__media { order:2; }
.hc-split h2 { font-size: clamp(44px,5vw,68px); line-height:1; margin:12px 0 22px; }
.hc-split__media { border-radius:var(--hc-radius); overflow:hidden; box-shadow:var(--hc-shadow); }

.hc-quote { border-left:2px solid var(--hc-gold); padding:8px 0 8px 28px; margin:34px 0; font-family:"Cormorant Garamond", Georgia, serif; font-size:33px; line-height:1.25; font-style:italic; color:var(--hc-gold); }

.hc-score { background:var(--hc-white); border:1px solid rgba(182,138,60,.35); border-radius:22px; padding:44px; box-shadow:var(--hc-shadow); }
.hc-score__grid { display:grid; grid-template-columns:1.4fr .8fr; gap:50px; align-items:center; }
.hc-score__row { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--hc-border); }
.hc-score__value { color:var(--hc-gold); font-weight:700; }
.hc-score__overall { width:210px; height:210px; margin:auto; border:2px solid var(--hc-gold); border-radius:50%; display:grid; place-content:center; text-align:center; }
.hc-score__overall strong { font-family:"Cormorant Garamond", Georgia, serif; font-size:66px; line-height:1; font-weight:500; }
.hc-score__overall span { font-size:12px; text-transform:uppercase; letter-spacing:.15em; margin-top:8px; }

.hc-specs { width:100%; border-collapse:collapse; background:var(--hc-white); border-radius:16px; overflow:hidden; }
.hc-specs th, .hc-specs td { padding:15px 18px; border-bottom:1px solid var(--hc-border); text-align:left; }
.hc-specs th { width:34%; color:var(--hc-gold); font-weight:600; }

.hc-newsletter { text-align:center; max-width:850px; margin:auto; }
.hc-newsletter h2 { font-size:58px; margin:0 0 14px; }
.hc-newsletter form { display:flex; max-width:660px; margin:30px auto 0; gap:12px; }
.hc-newsletter input { flex:1; min-width:0; border:0; border-radius:9px; padding:16px; font:inherit; }
.hc-newsletter button { border:0; border-radius:9px; padding:16px 24px; background:var(--hc-gold); color:#1d2f26; font-weight:700; cursor:pointer; }

.site-footer { border-top:1px solid var(--hc-border); padding:55px 0; }
.site-footer__grid { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; }
.footer-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:18px; }
.footer-menu a { text-decoration:none; font-size:14px; }
.site-info { color:var(--hc-muted); font-size:13px; margin-top:12px; }

.entry-header { padding:75px 0 35px; text-align:center; }
.entry-title { font-size:clamp(50px,7vw,88px); line-height:1; margin:0; font-weight:500; }
.entry-content { width:min(calc(100% - 40px), 900px); margin:0 auto 100px; }
.entry-content > * { max-width:100%; }

.hc-discovery-hero { padding:70px 0 95px; }
.hc-discovery-hero__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.hc-discovery-title { font-size:clamp(54px,6.3vw,92px); line-height:.96; margin:14px 0 26px; font-weight:500; }
.hc-meta { display:flex; gap:16px; flex-wrap:wrap; color:var(--hc-muted); font-size:13px; }
.hc-affiliate-note { font-size:12px; color:var(--hc-muted); margin-top:14px; }
.hc-buybox { margin-top:30px; padding:22px; border:1px solid rgba(182,138,60,.35); border-radius:14px; background:rgba(255,255,255,.45); }

.hc-empty { padding:100px 0; text-align:center; }

@media (max-width: 900px) {
  .site-header__inner { min-height:76px; }
  .menu-toggle { display:block; }
  .primary-navigation { display:none; width:100%; }
  .primary-navigation.is-open { display:block; }
  .site-header__inner { flex-wrap:wrap; padding:12px 0; }
  .primary-menu { flex-direction:column; align-items:flex-start; padding:10px 0 20px; }
  .hc-hero__grid, .hc-split, .hc-discovery-hero__grid, .hc-score__grid { grid-template-columns:1fr; gap:42px; }
  .hc-split--reverse .hc-split__media { order:0; }
  .hc-grid--3 { grid-template-columns:1fr 1fr; }
  .site-footer__grid { grid-template-columns:1fr; }
}

@media (max-width: 620px) {
  .hc-wrap { width:min(calc(100% - 26px), var(--hc-max)); }
  .hc-hero, .hc-section { padding:65px 0; }
  .hc-grid--3, .hc-grid--2 { grid-template-columns:1fr; }
  .hc-score { padding:28px 20px; }
  .hc-score__overall { width:180px; height:180px; }
  .hc-newsletter form { flex-direction:column; }
  .site-title { font-size:24px; }
  .site-tagline { display:none; }
}


/* Version 1.1 page layouts */
.hc-page-hero { padding: 88px 0 70px; text-align:center; }
.hc-page-hero h1 { font-size:clamp(58px,8vw,104px); line-height:.92; font-weight:500; margin:14px 0 24px; }
.hc-page-hero p { max-width:760px; margin:0 auto; font-size:19px; color:#46594f; }
.hc-prose { width:min(calc(100% - 40px), 860px); margin:0 auto; font-size:18px; }
.hc-prose h2 { font-size:clamp(42px,5vw,64px); line-height:1; margin:70px 0 24px; font-weight:500; }
.hc-prose h3 { font-size:34px; margin:40px 0 14px; font-weight:500; }
.hc-prose p { margin:0 0 24px; }
.hc-prose ul { padding-left:22px; }
.hc-prose li { margin-bottom:10px; }
.hc-editorial-panel { border:1px solid rgba(182,138,60,.32); background:rgba(255,255,255,.48); border-radius:18px; padding:38px; box-shadow:0 14px 40px rgba(32,53,42,.06); }
.hc-contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:start; }
.hc-contact-card { background:var(--hc-green); color:var(--hc-ivory); border-radius:20px; padding:42px; }
.hc-contact-card a { color:var(--hc-ivory); }
.hc-link-list { display:grid; gap:12px; margin-top:26px; }
.hc-link-list a { display:flex; justify-content:space-between; gap:18px; padding:16px 0; border-bottom:1px solid rgba(248,245,236,.18); text-decoration:none; }
.hc-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hc-feature { padding:30px; border-top:2px solid var(--hc-gold); background:rgba(255,255,255,.45); }
.hc-feature h3 { margin:8px 0 12px; font-size:32px; }
.hc-guide-card { position:relative; min-height:420px; color:white; border-radius:18px; overflow:hidden; display:flex; align-items:flex-end; box-shadow:var(--hc-shadow); }
.hc-guide-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 15%,rgba(20,36,29,.88)); }
.hc-guide-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hc-guide-card__body { position:relative; z-index:1; padding:32px; }
.hc-guide-card h3 { font-size:42px; line-height:1; margin:8px 0 12px; }
.hc-notice { border-left:3px solid var(--hc-gold); background:rgba(255,255,255,.52); padding:24px 28px; margin:34px 0; }
.hc-page-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.hc-image-frame { border-radius:20px; overflow:hidden; box-shadow:var(--hc-shadow); }
.hc-image-frame img { width:100%; height:100%; object-fit:cover; }
.hc-smallcaps { color:var(--hc-gold); letter-spacing:.22em; text-transform:uppercase; font-size:12px; font-weight:600; }
.hc-archive-intro { max-width:720px; margin:0 auto 50px; text-align:center; }
.hc-legal { width:min(calc(100% - 40px), 850px); margin:0 auto 100px; }
.hc-legal h2 { margin-top:52px; font-size:40px; }
.hc-legal p, .hc-legal li { color:#3f5147; }

@media (max-width: 900px) {
  .hc-contact-grid, .hc-feature-grid { grid-template-columns:1fr; }
}

/* Version 1.2 discovery refinements */
.hc-discovery-copy h2 { font-size:clamp(44px,5vw,64px); line-height:1; margin:70px 0 24px; font-weight:500; }
.hc-discovery-copy h2:first-child { margin-top:0; }
.hc-discovery-copy h3 { font-size:34px; line-height:1.1; margin:38px 0 12px; font-weight:500; }
.hc-discovery-copy p { margin:0 0 23px; }
.hc-discovery-copy blockquote { margin:52px 0; padding:16px 0 16px 30px; border-left:2px solid var(--hc-gold); font-family:"Cormorant Garamond", Georgia, serif; font-size:35px; line-height:1.25; font-style:italic; color:var(--hc-gold); }
.hc-discovery-copy ul { margin:0 0 28px; padding-left:22px; }
.hc-discovery-copy li { margin:0 0 10px; }
.hc-affiliate-placeholder { margin-top:20px; padding:16px 18px; border-radius:10px; background:rgba(182,138,60,.10); border:1px solid rgba(182,138,60,.28); font-size:14px; }
.hc-image-frame { aspect-ratio:4/3; }
.hc-image-frame img { display:block; }

/* v2.1 editorial image refinements */
.hc-media img,.hc-image-frame img,.hc-card__image img{object-fit:cover;object-position:center}
.hc-media img{aspect-ratio:8/5}
.hc-image-frame img{aspect-ratio:8/5}
.hc-card__image img{aspect-ratio:4/3}
.hc-image-frame{position:relative}
.hc-image-frame:after{content:"Hidden Curio editorial image";position:absolute;right:16px;bottom:14px;background:rgba(32,53,42,.88);color:#fff;padding:7px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}


/* v2.2 automatic editorial imagery */
.hc-card__image {
  background: #ece5d6;
}
.hc-card__image img,
.hc-media img,
.hc-image-frame img,
.hc-editorial-gallery img {
  display:block;
  width:100%;
}
.hc-editorial-gallery {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:28px;
  align-items:start;
}
.hc-editorial-gallery figure {
  margin:0;
  overflow:hidden;
  border-radius:16px;
  background:#efe8da;
}
.hc-editorial-gallery img {
  aspect-ratio:4/3;
  object-fit:cover;
}
.hc-editorial-gallery__large img {
  aspect-ratio:16/10;
}
.hc-editorial-gallery figcaption {
  padding:12px 16px 14px;
  color:#6e705f;
  font-size:12px;
  letter-spacing:.04em;
}
@media (max-width: 800px) {
  .hc-editorial-gallery { grid-template-columns:1fr; }
}


/* v3.1 category imagery */
.hc-category-card .hc-card__image {
  aspect-ratio: 16 / 10;
}
.hc-category-card .hc-card__body {
  min-height: 220px;
}
.hc-category-count {
  display:inline-block;
  margin-top:10px;
  color:var(--hc-gold);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
}

/* v4.0 — 100 discovery library */
.hc-gift-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.hc-mini-discovery{background:rgba(255,255,255,.72);border:1px solid var(--hc-border);border-radius:14px;overflow:hidden}
.hc-mini-discovery a{text-decoration:none}
.hc-mini-discovery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hc-mini-discovery__body{padding:18px}
.hc-mini-discovery h3{font-size:25px;margin:4px 0 8px}
.hc-mini-discovery p{font-size:13px;margin:0;color:#5f6b63}
.hc-pagination{display:flex;gap:8px;justify-content:center;margin-top:50px;flex-wrap:wrap}
.hc-pagination .page-numbers{padding:9px 13px;border:1px solid var(--hc-border);border-radius:999px;text-decoration:none;background:#fff}
.hc-pagination .current{background:var(--hc-green);color:#fff}
.hc-review-disclosure{margin:28px auto 0;padding:14px 18px;border-left:2px solid var(--hc-gold);background:rgba(182,138,60,.08);font-size:13px;color:#657067}
@media(max-width:1000px){.hc-gift-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.hc-gift-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.hc-gift-directory{grid-template-columns:1fr}}


/* v4.8 review-suggestion form */
.hc-review-request {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);
  gap:54px;
  align-items:start;
  background:rgba(255,255,255,.58);
  border:1px solid var(--hc-border);
  border-radius:18px;
  padding:46px;
  box-shadow:0 16px 42px rgba(32,53,42,.06);
}
.hc-review-request__intro h2 { font-size:50px; line-height:1.04; margin:8px 0 18px; }
.hc-review-request__intro p { max-width:500px; }
.hc-review-request__email { margin-top:24px; font-size:14px; }
.hc-review-request__email a { color:var(--hc-gold); font-weight:700; }
.hc-review-form { display:grid; gap:15px; }
.hc-review-form label { display:grid; gap:7px; font-size:13px; font-weight:600; color:var(--hc-green); }
.hc-review-form label span em { color:var(--hc-muted); font-weight:400; }
.hc-form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.hc-review-form input,
.hc-review-form textarea {
  width:100%;
  box-sizing:border-box;
  border:1px solid #d8d1c1;
  border-radius:9px;
  background:#fffdf8;
  padding:14px 15px;
  color:var(--hc-green);
  font:inherit;
  outline:none;
}
.hc-review-form textarea { resize:vertical; min-height:128px; }
.hc-review-form input:focus,
.hc-review-form textarea:focus { border-color:var(--hc-gold); box-shadow:0 0 0 3px rgba(182,138,60,.12); }
.hc-review-form .hc-button { justify-self:start; border:0; cursor:pointer; }
.hc-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.hc-form-notice { margin:0 0 16px; padding:12px 14px; border-radius:8px; font-size:14px; }
.hc-form-notice--success { background:#e8f1e8; color:#244a32; }
.hc-form-notice--error { background:#f8e9e5; color:#7a3025; }
.hc-review-request--compact { padding:38px; }
@media(max-width:800px){
  .hc-review-request { grid-template-columns:1fr; gap:30px; padding:28px; }
  .hc-review-request__intro h2 { font-size:40px; }
  .hc-form-row { grid-template-columns:1fr; }
}


/* Amazon Associates disclosure */
.hc-amazon-footer-disclosure {
  margin-top: 12px;
  max-width: 430px;
  color: var(--hc-muted);
  font-size: 12px;
  line-height: 1.55;
}
.hc-amazon-disclosure {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--hc-border);
  color: var(--hc-muted);
  font-size: 12px;
  line-height: 1.55;
}
.hc-amazon-disclosure strong { color: var(--hc-green); }


/* v6.0 discovery usability + non-repetitive imagery */
.hc-buy-jump{margin-top:22px}
.hc-buy-anchor{scroll-margin-top:110px}
.hc-editorial-note{padding:34px;border:1px solid rgba(182,138,60,.28);border-radius:16px;background:rgba(255,255,255,.48);min-height:100%;display:flex;flex-direction:column;justify-content:center}
.hc-editorial-note h3{font-size:38px;line-height:1.05;margin:8px 0 14px}
.hc-editorial-note p{margin:0;color:#5f645c}
@media (max-width:800px){.hc-editorial-note{padding:26px}}

.hc-amazon-search-note{font-size:13px;line-height:1.5;opacity:.72;margin:10px 0 0;max-width:420px;}


/* v6.3 restrained display advertising */
.hc-home-ad{margin-top:42px}
.hc-section--ad{padding:34px 0;background:rgba(255,255,255,.22);border-top:1px solid rgba(32,53,42,.06);border-bottom:1px solid rgba(32,53,42,.06)}
.hc-ad-grid-span{grid-column:1 / -1;margin:18px 0 12px}
.hc-ad-slot{width:min(100%,970px);margin:0 auto;padding:15px 18px 12px;border:1px solid rgba(32,53,42,.10);border-radius:12px;background:rgba(255,255,255,.48);text-align:center;overflow:hidden}
.hc-ad-slot__label{margin:0 0 8px;color:var(--hc-muted);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.hc-adsense-unit{width:100%;max-width:970px;margin:0 auto;min-height:90px}
@media(max-width:620px){.hc-ad-slot{padding:12px 10px 10px}.hc-adsense-unit{min-height:60px}}
