/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.0
 Text Domain:  bricks
*/

/* Alma Libre staging build */
:root {
  --alma-ink: #0b1820;
  --alma-blue: #145c74;
  --alma-teal: #1f8a8a;
  --alma-cream: #f7f3ea;
  --alma-paper: #fffdf7;
  --alma-gold: #d0a85c;
  --alma-muted: #6a7579;
}
body { background: var(--alma-paper); color: var(--alma-ink); }
.alma-wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.alma-hero { min-height: 100vh; padding: 116px 0 72px; color: #fff; }
.alma-hero-content { max-width: 760px; text-shadow: 0 2px 18px rgba(0,0,0,.34); }
.alma-brand { font: 700 clamp(24px, 3vw, 40px)/1.05 Georgia, serif; color: #fff; margin-bottom: 24px; }
.alma-kicker { color: var(--alma-gold); font-size: 12px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; }
.alma-hero-title { color: #fff; font-size: clamp(42px, 7vw, 84px); line-height: .98; max-width: 820px; margin: 0 0 22px; letter-spacing: 0; }
.alma-hero-lead, .alma-section-lead { font-size: clamp(18px, 2.1vw, 23px); line-height: 1.55; max-width: 720px; color: rgba(255,255,255,.9); }
.alma-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.alma-btn { border-radius: 6px; font-weight: 800; padding: 14px 22px; min-height: 48px; transition: transform .18s ease, background .18s ease; }
.alma-btn:hover { transform: translateY(-1px); }
.alma-btn-primary { background: var(--alma-gold); color: #111; }
.alma-btn-ghost { color: #fff; border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.08); }
.alma-btn-dark { background: var(--alma-ink); color: #fff; }
.alma-btn-light { background: #fff; color: var(--alma-ink); border: 1px solid rgba(11,24,32,.14); }
.alma-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: min(680px, 100%); margin-top: 48px; }
.alma-stat { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(12px); border-radius: 8px; padding: 16px; }
.alma-stat strong { display: block; color: #fff; font-size: 22px; line-height: 1; }
.alma-stat span { display: block; color: rgba(255,255,255,.78); margin-top: 7px; font-size: 13px; }
.alma-booking-strip { background: var(--alma-ink); color: #fff; padding: 24px 0; }
.alma-booking-grid { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; align-items: center; }
.alma-booking-copy span { display: block; color: var(--alma-gold); font-size: 12px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; }
.alma-booking-copy strong { display: block; font-size: clamp(18px, 2vw, 26px); line-height: 1.25; margin-top: 5px; }
.alma-section { padding: clamp(78px, 9vw, 126px) 0; }
.alma-services { background: var(--alma-paper); }
.alma-section-head { max-width: 760px; margin-bottom: 42px; }
.alma-section-title { font-size: clamp(34px, 5vw, 62px); line-height: 1.02; margin: 0 0 18px; color: var(--alma-ink); letter-spacing: 0; }
.alma-section-head .alma-section-lead { color: var(--alma-muted); text-shadow: none; }
.alma-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.alma-card { background: #fff; border: 1px solid rgba(11,24,32,.10); border-radius: 8px; overflow: hidden; box-shadow: 0 16px 48px rgba(11,24,32,.08); }
.alma-card-media { height: 280px; background-size: cover; background-position: center; }
.alma-card-body { padding: 24px; }
.alma-card-body strong { display: block; font-size: 22px; margin-bottom: 10px; }
.alma-card-body span { display: block; color: var(--alma-muted); line-height: 1.55; }
.alma-tours { background: var(--alma-cream); }
.alma-fleet { background: #fff; }
.alma-split { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: clamp(34px, 6vw, 82px); align-items: center; }
.alma-split-reverse { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); }
.alma-rounded-image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 8px; box-shadow: 0 22px 62px rgba(11,24,32,.16); }
.alma-body { color: var(--alma-muted); font-size: 18px; line-height: 1.75; }
.alma-list ul { margin: 22px 0 28px; padding-left: 20px; color: var(--alma-ink); line-height: 1.8; font-weight: 650; }
.alma-trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.alma-trust { border-top: 3px solid var(--alma-teal); background: var(--alma-cream); padding: 18px; border-radius: 6px; }
.alma-trust strong { display: block; margin-bottom: 8px; }
.alma-trust span { color: var(--alma-muted); font-size: 14px; line-height: 1.45; }
.alma-contact { background: var(--alma-ink); color: #fff; padding: clamp(78px, 9vw, 126px) 0; }
.alma-contact .alma-section-title, .alma-contact .alma-body { color: #fff; }
.alma-contact-grid { display: grid; grid-template-columns: 1fr minmax(320px, 440px); gap: clamp(32px, 6vw, 90px); align-items: start; }
.alma-contact-card { background: #fff; color: var(--alma-ink); padding: 28px; border-radius: 8px; box-shadow: 0 18px 60px rgba(0,0,0,.22); }
.alma-contact-line { display: grid; gap: 6px; padding: 16px 0; border-bottom: 1px solid rgba(11,24,32,.12); }
.alma-contact-line:last-child { border-bottom: 0; }
.alma-contact-line strong { color: var(--alma-blue); font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; }
.alma-contact-line a, .alma-contact-line span { color: var(--alma-ink); line-height: 1.45; }
@media (max-width: 900px) {
  .alma-hero { min-height: 92vh; background-attachment: scroll; }
  .alma-booking-grid, .alma-card-grid, .alma-split, .alma-split-reverse, .alma-contact-grid { grid-template-columns: 1fr; }
  .alma-stats, .alma-trust-grid { grid-template-columns: 1fr; }
  .alma-booking-grid { align-items: stretch; }
  .alma-actions { width: 100%; }
  .alma-actions .bricks-button, .alma-booking-grid .bricks-button { width: 100%; justify-content: center; }
  .alma-card-media { height: 240px; }
  .alma-rounded-image { aspect-ratio: 4 / 3; }
}
.alma-feature-media { width: 100%; aspect-ratio: 4 / 5; background-size: cover; background-position: center; border-radius: 8px; box-shadow: 0 22px 62px rgba(11,24,32,.16); }
@media (max-width: 900px) { .alma-feature-media { aspect-ratio: 4 / 3; min-height: 280px; } }

/* Alma Libre lazy visibility guard */
.bricks-lazy-hidden { opacity: 1 !important; visibility: visible !important; transform: none !important; }

/* Alma Libre fixed media backgrounds */
#brxe-alhero { background-image: linear-gradient(rgba(10,24,34,.64), rgba(10,24,34,.20)), url('/wp-content/uploads/2026/05/1000002667-scaled.jpeg') !important; background-size: cover !important; background-position: center center !important; }
#brxe-alc1m { background-image: url('/wp-content/uploads/2026/05/1000000220-scaled.jpeg') !important; }
#brxe-alc2m { background-image: url('/wp-content/uploads/2026/05/1000002612-scaled.jpeg') !important; }
#brxe-alc3m { background-image: url('/wp-content/uploads/2026/05/1000000389-scaled.jpeg') !important; }
#brxe-altourimg { background-image: url('/wp-content/uploads/2026/05/C81BAD8D-3308-4127-87EF-8C82C8A84A87-scaled.jpg') !important; }
#brxe-alfleetimg { background-image: url('/wp-content/uploads/2026/05/EB465C1F-4E58-43A1-8683-FB5ACED62B38-scaled.jpg') !important; }
#brxe-alc1m, #brxe-alc2m, #brxe-alc3m, #brxe-altourimg, #brxe-alfleetimg { background-size: cover !important; background-position: center center !important; }
.alma-card-media { overflow: hidden; }
.alma-card-img, .alma-feature-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.alma-feature-img { min-height: 520px; border-radius: 8px; box-shadow: 0 22px 62px rgba(11,24,32,.16); }
@media (max-width: 900px) { .alma-feature-img { min-height: 280px; } }
