/*
Theme Name: Hello CurateCo
Theme URI: https://curateandco.com
Author: Curate & Co.
Description: Child theme Hello Elementor per Curate & Co.
Version: 4.0.0
Template: hello-elementor
Text Domain: hello-curateco
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;1,600&family=DM+Sans:wght@300;400;500&family=Playfair+Display:ital,wght@1,700&display=swap');

:root {
  --cc-white:      #FFFFFF;
  --cc-linen:      #F2EDE4;
  --cc-warm-stone: #E0D8CB;
  --cc-black:      #111111;
  --cc-near-black: #1A1A1A;
  --cc-text-mid:   #6B5F54;
  --cc-text-light: #9A8E84;
  --cc-border:     #D4C9BC;
  --cc-frost:      #E8EEF4;
  --cc-steel:      #7EA8C4;
  --cc-font-display: 'Cormorant Garamond', Georgia, serif;
  --cc-font-body:    'DM Sans', system-ui, sans-serif;
  --cc-font-logo:    'Playfair Display', Georgia, serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--cc-font-body) !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: var(--cc-text-mid) !important;
  background: var(--cc-white) !important;
  -webkit-font-smoothing: antialiased;
  margin: 0 !important;
  padding: 0 !important;
}

.site-header, .site-branding, .site-title, .site-description,
.entry-header, .entry-title, .page-header, .site-footer {
  display: none !important;
}

/* ── HEADER ─────────────────────────────────────────────── */
#cc-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 99999;
  padding: 24px 40px;
  transition: background 300ms ease;
  pointer-events: none;
}
#cc-header * { pointer-events: auto; }
#cc-header.scrolled { background: rgba(17,17,17,0.96); }

.cc-h-left {
  position: absolute;
  top: 28px; left: 40px;
  display: flex; align-items: center; gap: 8px;
}
.cc-h-dot {
  width: 10px; height: 10px;
  border-radius: 50%; background: white; flex-shrink: 0;
}
.cc-h-label {
  font-family: var(--cc-font-body);
  font-size: 13px; font-weight: 300;
  color: white; letter-spacing: 0.04em;
}
.cc-h-logo {
  position: absolute;
  top: 14px; right: 200px;
  font-family: var(--cc-font-display);
  font-size: 52px; font-weight: 600;
  color: white; letter-spacing: -0.02em;
  text-decoration: none; line-height: 1;
}
.cc-h-logo .amp {
  font-family: var(--cc-font-logo);
  font-weight: 700; font-style: italic; font-size: 60px;
}
.cc-h-nav {
  position: absolute;
  top: 24px; right: 40px;
  display: flex; flex-direction: column;
  align-items: flex-end; gap: 4px;
  list-style: none; margin: 0; padding: 0;
}
.cc-h-nav a {
  font-family: var(--cc-font-body);
  font-size: 15px; font-weight: 300;
  color: white; text-decoration: none;
  letter-spacing: 0.01em;
  transition: opacity 200ms ease; display: block;
}
.cc-h-nav a:hover { opacity: 0.5; }
.cc-h-nav a.active { opacity: 0.45; }

#cc-header.light { background: var(--cc-white); border-bottom: 0.5px solid var(--cc-border); }
#cc-header.light .cc-h-dot { background: var(--cc-near-black); }
#cc-header.light .cc-h-label { color: var(--cc-text-light); }
#cc-header.light .cc-h-logo { color: var(--cc-near-black); }
#cc-header.light .cc-h-nav a { color: var(--cc-near-black); }

/* ── FOOTER — identico Elite Milano ─────────────────────── */
#cc-footer {
  background: transparent;
  padding: 32px 40px;
  border-top: none;
}

.cc-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  gap: 16px;
}

.cc-footer-links {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}

.cc-footer-links a {
  font-family: var(--cc-font-body);
  font-size: 13px;
  font-weight: 300;
  color: var(--cc-text-mid);
  text-decoration: none;
  transition: opacity 200ms;
  padding-right: 24px;
}
.cc-footer-links a:hover { opacity: 0.6; }

.cc-footer-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.cc-footer-name {
  font-family: var(--cc-font-body);
  font-size: 13px;
  font-weight: 300;
  color: var(--cc-text-mid);
}

.cc-footer-badge {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--cc-near-black);
  color: white;
  font-family: var(--cc-font-display);
  font-size: 10px; font-weight: 600;
  display: inline-flex;
  align-items: center; justify-content: center;
}

.cc-footer-copy {
  font-family: var(--cc-font-body);
  font-size: 13px;
  color: var(--cc-text-mid);
}

/* ── Typography ─────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--cc-font-display) !important;
  font-weight: 600 !important;
  color: var(--cc-near-black) !important;
}
.elementor-widget-text-editor p {
  font-family: var(--cc-font-body) !important;
  font-weight: 300 !important;
  color: var(--cc-text-mid) !important;
  line-height: 1.85 !important;
}

/* ── Buttons ────────────────────────────────────────────── */
.elementor-button {
  font-family: var(--cc-font-body) !important;
  font-size: 13px !important; font-weight: 400 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  background: var(--cc-near-black) !important;
  color: var(--cc-linen) !important;
  border: 1px solid var(--cc-near-black) !important;
  border-radius: 0 !important; padding: 14px 40px !important;
  transition: background 200ms, color 200ms !important;
}
.elementor-button:hover {
  background: var(--cc-linen) !important;
  color: var(--cc-near-black) !important;
}

/* ── Form ───────────────────────────────────────────────── */
.elementor-form .elementor-field-label {
  font-family: var(--cc-font-body) !important;
  font-size: 11px !important; font-weight: 400 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: var(--cc-text-light) !important;
}
.elementor-form .elementor-field {
  font-family: var(--cc-font-body) !important; font-weight: 300 !important;
  background: transparent !important; border: none !important;
  border-bottom: 1px solid var(--cc-border) !important;
  border-radius: 0 !important; padding: 10px 0 !important;
  color: var(--cc-near-black) !important; box-shadow: none !important;
}
.elementor-form .elementor-field:focus {
  border-bottom-color: var(--cc-near-black) !important;
  background: var(--cc-frost) !important; outline: none !important;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .cc-h-logo { font-size: 32px; right: 120px; top: 12px; }
  .cc-h-logo .amp { font-size: 37px; }
  .cc-h-nav a { font-size: 13px; }
  #cc-header { padding: 14px 24px; }
  .cc-h-left { top: 18px; left: 24px; }
  .cc-h-nav { top: 14px; right: 24px; }
  #cc-footer { padding: 24px; }
  .cc-footer-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
}
