/*
Theme Name: Capri by Mayamex
Author: Released Solutions
Author URI: https://releasedsolutions.net/
Description: Minimal shell theme. Header, footer, menu and design tokens only; page bodies are hand-written HTML.
Version: 0.1.0
Requires PHP: 7.4
Text Domain: capri
*/

:root {
  /* From the logo */
  --cp-plum: #60024b;
  --cp-plum-deep: #3f0131;
  --cp-plum-soft: #7d1a66;
  --cp-marigold: #fda60d;
  --cp-marigold-deep: #d98500;
  --cp-cream: #fbefc8;
  /* From the banner reference */
  --cp-char: #1f1b1d;
  --cp-char-2: #2a2427;
  --cp-chili: #d7261e;
  --cp-lime: #8cc63f;
  --cp-white: #ffffff;
  --cp-ink: #221a1f;
  --cp-muted: #6b5a64;
  --cp-paper: #fffaf0;

  --cp-max: 1200px;
  --cp-gutter: 20px;
  --cp-radius: 20px;
  --cp-font-body: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cp-font-head: "Rubik", system-ui, sans-serif;
  --cp-font-script: "Playfair Display", Georgia, serif;
  --cp-header-h: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--cp-header-h) + 12px); }
body { margin: 0; font-family: var(--cp-font-body); color: var(--cp-ink); background: var(--cp-paper); line-height: 1.6; font-size: 17px; }
main { overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cp-plum); }
h1, h2, h3, h4 { font-family: var(--cp-font-head); font-weight: 800; line-height: 1.05; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(2.6rem, 7vw, 5.2rem); text-transform: uppercase; }
h2 { font-size: clamp(2rem, 5vw, 3.4rem); text-transform: uppercase; }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1em; }
[hidden] { display: none !important; }

/* Layout helpers for hand-written page HTML */
.cp-wrap { max-width: var(--cp-max); margin: 0 auto; padding: 0 var(--cp-gutter); }
.cp-section { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.cp-section--dark { background: var(--cp-char); color: var(--cp-white); }
.cp-section--plum { background: var(--cp-plum); color: var(--cp-white); }
.cp-section--cream { background: var(--cp-cream); }
.cp-center { text-align: center; }
.cp-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.cp-orange { color: var(--cp-marigold); }
.cp-script { font-family: var(--cp-font-script); font-style: italic; font-weight: 700; text-transform: none; letter-spacing: 0; }
.cp-eyebrow { display: inline-block; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: .85rem; color: var(--cp-marigold-deep); margin-bottom: .8em; }
.cp-section--dark .cp-eyebrow, .cp-section--plum .cp-eyebrow { color: var(--cp-marigold); }

.cp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 30px; border-radius: 999px; background: var(--cp-marigold); color: var(--cp-white); text-decoration: none; font-weight: 800; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .02em; border: 0; cursor: pointer; transition: transform .15s ease, background .15s ease, box-shadow .15s ease; box-shadow: 0 8px 20px rgba(253,166,13,.28); }
.cp-btn:hover { transform: translateY(-2px); background: var(--cp-marigold-deep); }
.cp-btn--plum { background: var(--cp-plum); box-shadow: 0 8px 20px rgba(96,2,75,.25); }
.cp-btn--plum:hover { background: var(--cp-plum-deep); }
.cp-btn--ghost { background: transparent; color: inherit; box-shadow: inset 0 0 0 2px currentColor; }
.cp-btn--ghost:hover { background: rgba(255,255,255,.08); }
.cp-btn--sm { padding: 10px 20px; font-size: .95rem; }
.cp-btn svg { width: 1.1em; height: 1.1em; flex: none; }

/* Preview bar (remove at launch) */
.cp-preview-bar { background: var(--cp-marigold); color: var(--cp-char); text-align: center; font-size: .85rem; font-weight: 600; padding: 6px var(--cp-gutter); }

/* Header */
.cp-header { position: sticky; top: 0; z-index: 50; background: var(--cp-plum); color: var(--cp-white); box-shadow: 0 2px 18px rgba(0,0,0,.25); }
.cp-header .cp-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: var(--cp-header-h); }
.cp-logo img { height: 64px; width: auto; }
.cp-header__right { display: flex; align-items: center; gap: 18px; }
.cp-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.cp-nav a { color: var(--cp-white); text-decoration: none; font-weight: 600; padding: 8px 14px; border-radius: 999px; transition: background .15s ease, color .15s ease; }
.cp-nav a:hover, .cp-nav .current-menu-item:not(.menu-item-type-custom) > a { background: rgba(255,255,255,.12); color: var(--cp-marigold); }
.cp-header__call { color: var(--cp-cream); text-decoration: none; font-weight: 700; white-space: nowrap; }
.cp-header__call:hover { color: var(--cp-marigold); }
.cp-nav-toggle { display: none; background: none; border: 2px solid rgba(255,255,255,.4); color: var(--cp-white); font-size: 1.4rem; width: 46px; height: 46px; border-radius: 12px; cursor: pointer; }

@media (max-width: 960px) {
  .cp-header__call { display: none; }
}
@media (max-width: 820px) {
  :root { --cp-header-h: 72px; }
  .cp-logo img { height: 52px; }
  .cp-nav-toggle { display: block; }
  .cp-nav { position: absolute; top: 100%; left: 0; right: 0; background: var(--cp-plum-deep); display: none; padding: 12px var(--cp-gutter) 20px; }
  .cp-nav.is-open { display: block; }
  .cp-nav ul { flex-direction: column; }
  .cp-nav a { display: block; padding: 12px 14px; }
  .cp-header__right .cp-btn { padding: 10px 16px; font-size: .9rem; }
}
@media (max-width: 420px) {
  .cp-header__right .cp-btn { display: none; }
}

/* Footer */
.cp-footer { background: var(--cp-plum-deep); color: rgba(255,255,255,.85); padding: 64px 0 28px; }
.cp-footer a { color: var(--cp-cream); }
.cp-footer a:hover { color: var(--cp-marigold); }
.cp-footer h3 { color: var(--cp-marigold); font-size: 1rem; text-transform: uppercase; letter-spacing: .12em; }
.cp-footer__grid { display: grid; gap: 36px; grid-template-columns: 1.3fr 1fr 1fr 1fr; }
.cp-footer__logo { width: 220px; }
.cp-footer__hours { list-style: none; margin: 0; padding: 0; }
.cp-footer__hours li { display: flex; justify-content: space-between; gap: 12px; max-width: 240px; }
.cp-footer__base { margin-top: 44px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: .9rem; }
@media (max-width: 900px) { .cp-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cp-footer__grid { grid-template-columns: 1fr; } }

/* Fallback content (posts, 404) */
.cp-content { padding: 64px var(--cp-gutter); }
