/* =========================================================
   Theme "Maiolica" — Apulian ceramics: cobalt blue on white,
   lemon-yellow accents, tile borders, arched frames.
   Modern editorial serif + clean sans.
   ========================================================= */
[data-theme="maiolica"] {
  --font-display: 'Fraunces', 'Times New Roman', serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-accent: 'Fraunces', serif;

  --cobalt: #1f3a93;
  --cobalt-dark: #14265f;
  --sky: #dfe7f8;
  --lemon: #f2c744;
  --lemon-dark: #d9a712;
  --white: #ffffff;
  --paper: #f8f9fc;

  --bg: var(--white);
  --bg-alt: var(--sky);
  --surface: var(--white);
  --text: #1a2140;
  --text-muted: #56608a;
  --primary: var(--cobalt);
  --primary-contrast: #fff;
  --accent: var(--lemon-dark);
  --accent-2: var(--lemon);
  --border: rgba(31,58,147,.22);
  --radius: 6px;
  --radius-sm: 4px;
  --shadow: 0 10px 24px rgba(31,58,147,.10);

  --tile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 2c6 8 10 12 18 18-8 6-12 10-18 18-6-8-10-12-18-18 8-6 12-10 18-18z' fill='none' stroke='%231f3a93' stroke-width='1.6'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%231f3a93'/%3E%3Ccircle cx='3' cy='3' r='2' fill='%23f2c744'/%3E%3Ccircle cx='37' cy='3' r='2' fill='%23f2c744'/%3E%3Ccircle cx='3' cy='37' r='2' fill='%23f2c744'/%3E%3Ccircle cx='37' cy='37' r='2' fill='%23f2c744'/%3E%3C/svg%3E");
  --tile-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 2c6 8 10 12 18 18-8 6-12 10-18 18-6-8-10-12-18-18 8-6 12-10 18-18z' fill='none' stroke='%23ffffff' stroke-width='1.6'/%3E%3Ccircle cx='20' cy='20' r='3' fill='%23ffffff'/%3E%3Ccircle cx='3' cy='3' r='2' fill='%23f2c744'/%3E%3Ccircle cx='37' cy='3' r='2' fill='%23f2c744'/%3E%3Ccircle cx='3' cy='37' r='2' fill='%23f2c744'/%3E%3Ccircle cx='37' cy='37' r='2' fill='%23f2c744'/%3E%3C/svg%3E");
}

[data-theme="maiolica"] body { background: var(--white); }
[data-theme="maiolica"] h1, [data-theme="maiolica"] h2, [data-theme="maiolica"] h3 { color: var(--cobalt); font-weight: 500; font-variation-settings: "opsz" 144; }
[data-theme="maiolica"] .section__title { font-weight: 300; letter-spacing: -.01em; }
[data-theme="maiolica"] .section__title::after {
  content: ""; display: block; width: 120px; height: 20px; margin: .35em auto 0;
  background: var(--tile) center / 20px 20px repeat-x;
}
[data-theme="maiolica"] .section__subtitle { font-style: italic; font-weight: 300; }
[data-theme="maiolica"] .brand__names { color: var(--cobalt); font-weight: 700; }
[data-theme="maiolica"] .site-nav a { text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 700; color: var(--cobalt); }
[data-theme="maiolica"] .site-nav .nav-cta { background: var(--lemon); color: var(--cobalt-dark); border-radius: 0; }
[data-theme="maiolica"] .site-header { border-bottom: 3px solid var(--cobalt); }
[data-theme="maiolica"] .site-header.is-scrolled { box-shadow: none; }
[data-theme="maiolica"] .btn { border-radius: 0; text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; font-weight: 700; padding: .9rem 1.8rem; }
[data-theme="maiolica"] .btn--primary { background: var(--cobalt); box-shadow: 4px 4px 0 var(--lemon); }
[data-theme="maiolica"] .btn--primary:hover { transform: translate(-1px,-1px); box-shadow: 6px 6px 0 var(--lemon); }
[data-theme="maiolica"] .btn--ghost { border-width: 2px; }
[data-theme="maiolica"] .picker__btn, [data-theme="maiolica"] .burger { border-radius: 0; border-color: var(--cobalt); }
[data-theme="maiolica"] .picker__menu { border-radius: 0; border: 2px solid var(--cobalt); }

/* hero */
[data-theme="maiolica"] .hero { width: 100%; padding: 0; gap: 0; }
[data-theme="maiolica"] .hero::before, [data-theme="maiolica"] .hero::after {
  content: ""; position: absolute; left: 0; right: 0; height: 28px; background: var(--tile) center / 28px 28px repeat-x;
}
[data-theme="maiolica"] .hero::before { top: 18px; }
[data-theme="maiolica"] .hero::after { bottom: 18px; }
[data-theme="maiolica"] .hero__inner { padding: clamp(3rem, 8vw, 6rem) clamp(1.5rem, 6vw, 6rem); }
[data-theme="maiolica"] .hero__kicker { font-style: italic; font-weight: 300; color: var(--cobalt); font-size: clamp(1.5rem, 2.6vw, 2.2rem); }
[data-theme="maiolica"] .hero__names { font-weight: 700; color: var(--cobalt); letter-spacing: -.03em; font-size: clamp(3.6rem, 10vw, 8rem); }
[data-theme="maiolica"] .hero__names .amp { color: var(--lemon-dark); font-weight: 300; }
[data-theme="maiolica"] .hero__date { display: inline-block; background: var(--lemon); color: var(--cobalt-dark); padding: .35em .9em; font-weight: 700; font-family: 'DM Sans', sans-serif; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; }
[data-theme="maiolica"] .hero__place { color: var(--cobalt); font-weight: 700; margin-top: .9rem; }
[data-theme="maiolica"] .countdown__grid b { color: var(--cobalt); font-weight: 700; }
[data-theme="maiolica"] .hero__polaroid { background: var(--cobalt); align-self: stretch; align-items: center; padding: 3rem 2rem; background-image: var(--tile-light); background-size: 40px 40px; background-blend-mode: normal; position: relative; }
[data-theme="maiolica"] .hero__polaroid::before { content: ""; position: absolute; inset: 0; background: var(--cobalt); opacity: .88; }
@media (max-width: 860px) {
  [data-theme="maiolica"] .hero__polaroid { order: 1; margin: 0; padding: 2.5rem 1.5rem; }
  [data-theme="maiolica"] .hero::after { display: none; }
}

/* arched frames */
[data-theme="maiolica"] .frame {
  --tilt: 0deg; padding: 0; background: transparent; box-shadow: none; max-width: 320px; position: relative;
}
[data-theme="maiolica"] .frame:hover { transform: translateY(-4px); }
[data-theme="maiolica"] .frame img {
  aspect-ratio: 3 / 4; border-radius: 999px 999px 0 0; border: 6px solid var(--white); outline: 3px solid var(--cobalt);
  box-shadow: 0 18px 36px rgba(20,38,95,.25);
}
[data-theme="maiolica"] .frame__caption { font-style: italic; font-weight: 300; font-size: 1.35rem; color: var(--cobalt); margin-top: 1rem; }
[data-theme="maiolica"] .frame--hero img { outline-color: var(--lemon); }
[data-theme="maiolica"] .frame--hero .frame__caption { color: #fff; }
[data-theme="maiolica"] .frame--hero { max-width: 320px; }

/* sections */
[data-theme="maiolica"] .section--story { background: var(--cobalt); color: #fff; }
[data-theme="maiolica"] .section--story .section__title, [data-theme="maiolica"] .section--story .section__subtitle,
[data-theme="maiolica"] .section--story .quote__text, [data-theme="maiolica"] .section--story .frame__caption { color: #fff; }
[data-theme="maiolica"] .section--story .section__title::after { background-image: var(--tile-light); }
[data-theme="maiolica"] .section--story .quote__by { color: var(--lemon); }
[data-theme="maiolica"] .section--story .story__list li { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); color: #fff; }
[data-theme="maiolica"] .section--story .story__outro strong { color: var(--lemon); }
[data-theme="maiolica"] .section--day { background: var(--white); }
[data-theme="maiolica"] .section--stay { background: var(--sky); }
[data-theme="maiolica"] .section--info { background: var(--sky); }
[data-theme="maiolica"] .section--rsvp { background: var(--white); }
[data-theme="maiolica"] .section--explore { background: var(--paper); }
[data-theme="maiolica"] .section--rsvp::before, [data-theme="maiolica"] .section--explore::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 24px; background: var(--tile) center / 24px 24px repeat-x;
}

[data-theme="maiolica"] .card { border: 2px solid var(--cobalt); border-radius: 0; box-shadow: 6px 6px 0 var(--sky); }
[data-theme="maiolica"] .card__eyebrow { color: var(--lemon-dark); }
[data-theme="maiolica"] .card__title { font-weight: 500; }
[data-theme="maiolica"] .card .big { font-style: italic; font-weight: 300; font-size: 2.4rem; }
[data-theme="maiolica"] .day__date { font-style: italic; font-weight: 300; color: var(--cobalt); }
[data-theme="maiolica"] .promo { border: 2px solid var(--lemon); border-radius: 0; background: #fff8dc; }
[data-theme="maiolica"] .promo__code { font-weight: 700; }
[data-theme="maiolica"] .field input, [data-theme="maiolica"] .field textarea { border-radius: 0; border-width: 2px; border-color: var(--cobalt); background: #fff; }
[data-theme="maiolica"] .rsvp { border: 2px solid var(--cobalt); border-radius: 0; box-shadow: 10px 10px 0 var(--sky); }
[data-theme="maiolica"] .rsvp__kids { background: var(--sky); border-radius: 0; }
[data-theme="maiolica"] .chip a { border-radius: 0; border-width: 2px; }
[data-theme="maiolica"] .places__group { border: 2px solid var(--cobalt); border-radius: 0; box-shadow: 6px 6px 0 var(--sky); }
[data-theme="maiolica"] .places__town { font-style: italic; font-weight: 300; }
[data-theme="maiolica"] .place__price { color: var(--lemon-dark); }
[data-theme="maiolica"] .legend { border: 2px solid var(--cobalt); border-radius: 0; }
[data-theme="maiolica"] .quote__text { font-weight: 300; }
[data-theme="maiolica"] .story__outro strong { font-weight: 700; }

[data-theme="maiolica"] .site-footer { background: var(--cobalt); border-top: 6px solid var(--lemon); }
[data-theme="maiolica"] .footer__icon { fill: var(--lemon); }

/* lemons */
[data-theme="maiolica"] .deco--maiolica { --fruit: var(--lemon); --nub: var(--lemon-dark); --leaf: #4e8a4b; --leafline: #2f5c2d; }
[data-theme="maiolica"] .deco--lemon1 { width: 110px; height: 110px; left: 2rem; bottom: 60px; transform: rotate(-20deg); z-index: 1; }
[data-theme="maiolica"] .deco--lemon2 { width: 70px; height: 70px; left: 110px; bottom: 45px; transform: rotate(25deg); z-index: 1; }
[data-theme="maiolica"] .deco--lemon3 { width: 120px; height: 120px; right: 2rem; top: 40px; transform: rotate(15deg); }
[data-theme="maiolica"] .deco--tilestrip { width: 260px; height: 260px; right: -60px; bottom: -60px; opacity: .12; color: var(--cobalt); fill: currentColor; stroke: currentColor; }
@media (max-width: 860px) {
  [data-theme="maiolica"] .deco--lemon1, [data-theme="maiolica"] .deco--lemon2 { display: none; }
}
