/*
Theme Name: Araujo Pro Blocks
Theme URI: https://gocitrine.com/
Author: GoCitrine
Description: Professional Gutenberg block theme for Araujo Party Rentals. Client-editable, agency-designed, no page-builder dependency.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: araujo-pro-blocks
*/

:root {
  --apr-red: #d62839;
  --apr-red-dark: #a61628;
  --apr-blue: #1368c4;
  --apr-sky: #61c8ff;
  --apr-ink: #111827;
  --apr-muted: #5c677d;
  --apr-soft: #f6f9ff;
  --apr-cream: #fff8ec;
  --apr-border: rgba(17,24,39,.12);
  --apr-shadow: 0 24px 70px rgba(17,24,39,.14);
  --apr-shadow-soft: 0 12px 35px rgba(19,104,196,.14);
  --apr-radius: 28px;
}

html { scroll-behavior: smooth; }
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background:
    radial-gradient(circle at 10% 0%, rgba(97,200,255,.22), transparent 32rem),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 48%, #ffffff 100%);
}
a { text-underline-offset: .22em; }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > main.wp-block-group,
.wp-site-blocks main.wp-block-group,
.wp-block-post-content {
  max-width: none !important;
}
.wp-site-blocks main > * { box-sizing: border-box; }
main .alignwide,
.wp-block-post-content > .alignwide {
  width: min(1180px, calc(100vw - 2rem));
  max-width: min(1180px, calc(100vw - 2rem));
  margin-left: auto !important;
  margin-right: auto !important;
}
.wp-block-columns { gap: clamp(1rem, 2.4vw, 2rem); }
.wp-block-column { min-width: 0; }
.apr-shell { max-width: 1180px; margin-left: auto; margin-right: auto; }
.apr-header {
  position: sticky; top: 0; z-index: 20;
  backdrop-filter: saturate(140%) blur(18px);
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(17,24,39,.08);
}
.apr-header .wp-block-navigation a { font-weight: 700; color: var(--apr-ink); }
.apr-header .wp-block-navigation a:hover { color: var(--apr-red); }
.apr-button .wp-block-button__link, .wp-block-button .wp-block-button__link {
  box-shadow: 0 12px 26px rgba(214,40,57,.22);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.apr-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(214,40,57,.28);
}
.apr-hero {
  position: relative; overflow: hidden;
  border-radius: 38px;
  padding: clamp(2rem, 5vw, 4rem) !important;
  box-shadow: var(--apr-shadow);
  background:
    radial-gradient(circle at 84% 20%, rgba(255,214,10,.45), transparent 19rem),
    radial-gradient(circle at 12% 18%, rgba(97,200,255,.34), transparent 22rem),
    linear-gradient(135deg, #ffffff 0%, #f6fbff 42%, #fff8ec 100%);
}
.apr-hero h1 {
  font-size: clamp(3rem, 5.4vw, 5.1rem) !important;
  max-width: 9.8ch;
}
.apr-hero .has-large-font-size {
  font-size: clamp(1.05rem, 1.25vw, 1.28rem) !important;
  max-width: 34rem;
}
.apr-hero:after {
  content: ""; position: absolute; inset: auto -8% -18% auto;
  width: 46%; aspect-ratio: 1; border-radius: 999px;
  background: linear-gradient(135deg, rgba(214,40,57,.18), rgba(19,104,196,.18));
  filter: blur(4px); pointer-events: none;
}
.apr-eyebrow {
  display: inline-flex; gap: .45rem; align-items: center;
  border: 1px solid rgba(19,104,196,.18);
  background: rgba(255,255,255,.8);
  color: var(--apr-blue);
  border-radius: 999px;
  padding: .45rem .75rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: .78rem;
}
.apr-card {
  border: 1px solid var(--apr-border);
  border-radius: var(--apr-radius);
  background: rgba(255,255,255,.92);
  box-shadow: var(--apr-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
  padding: clamp(1.2rem, 2.4vw, 2rem) !important;
}
.apr-card > :first-child { margin-top: 0; }
.apr-card > :last-child { margin-bottom: 0; }
.apr-card:hover { transform: translateY(-4px); border-color: rgba(19,104,196,.28); box-shadow: 0 18px 52px rgba(17,24,39,.13); }
.apr-card-red { border-top: 6px solid var(--apr-red); }
.apr-card-blue { border-top: 6px solid var(--apr-blue); }
.apr-card-sky { border-top: 6px solid var(--apr-sky); }
.apr-card-yellow { border-top: 6px solid #ffd60a; }
.apr-section-soft {
  border-radius: 36px;
  background: linear-gradient(180deg, #f7fbff, #ffffff);
  border: 1px solid rgba(19,104,196,.10);
  padding: clamp(1.5rem, 4vw, 3rem) !important;
}
.apr-section-ink {
  border-radius: 36px;
  background: linear-gradient(135deg, #111827, #0f3766);
  color: #fff;
  box-shadow: var(--apr-shadow);
  padding: clamp(1.5rem, 4vw, 3rem) !important;
}
.apr-section-ink p, .apr-section-ink li { color: rgba(255,255,255,.82); }
.apr-section-ink h1, .apr-section-ink h2, .apr-section-ink h3 { color: #fff; }
.apr-pill-list { list-style: none; padding: 0; }
.apr-pill-list li { margin: .5rem 0; padding: .75rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--apr-border); font-weight: 700; }
.apr-rental-meta { font-size: .9rem; color: var(--apr-muted); }
.apr-quote-panel {
  border: 1px solid rgba(214,40,57,.18);
  border-radius: 32px;
  background: linear-gradient(135deg, #fff, #fff7f0);
  box-shadow: var(--apr-shadow-soft);
  padding: clamp(1.5rem, 4vw, 3rem) !important;
}
.apr-form-row { border-bottom: 1px solid var(--apr-border); padding: 1rem 0; }
.apr-footer { background: #0e1726; color: rgba(255,255,255,.78); }
.apr-footer a { color: #fff; }
.apr-footer h2, .apr-footer h3, .apr-footer h4 { color: #fff; }
.apr-no-address-note { font-size: .88rem; color: var(--apr-muted); }

@media (max-width: 782px) {
  main .alignwide,
  .wp-block-post-content > .alignwide { width: min(100% - 1rem, 1180px); }
  .apr-hero { border-radius: 28px; padding: 1.35rem !important; }
  .apr-hero h1 { font-size: clamp(2.45rem, 13vw, 3.8rem) !important; max-width: 10ch; }
  .apr-hero .has-large-font-size { font-size: 1.04rem !important; }
  .apr-header { position: relative; }
  .apr-card, .apr-section-soft, .apr-section-ink, .apr-quote-panel { border-radius: 22px; padding: 1.15rem !important; }
  .wp-block-navigation__responsive-container-open { padding: .6rem; border-radius: 12px; background: #f4f8ff; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}
