/*
Theme Name: Goldwing Elementor
Theme URI: https://goldwingequestriancenter.it/
Author: Goldwing Equestrian Center
Description: Goldwing Equestrian Center site theme with an Elementor-ready homepage and Theme Builder locations.
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: goldwing-elementor
License: GNU General Public License v2 or later
*/

/* Original Goldwing page styles */
:root{
    --ink:#1c1a14;
    --ink-soft:#2a2620;
    --gold:#c9a227;
    --gold-bright:#e2bc4a;
    --parchment:#f3eee1;
    --parchment-dim:#e7dfcb;
    --forest:#3f4a34;
    --terracotta:#b15e3b;
    --line: rgba(28,26,20,0.14);
    --line-light: rgba(243,238,225,0.18);
  }

  .goldwing-home, .goldwing-home *, .contact, .contact *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--parchment);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }

  .goldwing-home h1,.goldwing-home h2,.goldwing-home h3,.contact h2,.serif{
    font-family:'Fraunces', serif;
    font-weight:440;
    letter-spacing:-0.01em;
  }

  .goldwing-home a,.contact a{color:inherit;}
  .goldwing-home img,.contact img{display:block; max-width:100%;}

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }

  :focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
  }

  /* ---------- NAV MARK (floating, minimal) ---------- */
  .brandmark{
    position:absolute;
    top:28px;
    left:32px;
    display:flex;
    align-items:center;
    gap:12px;
    z-index:5;
  }
  .brandmark img{
    height:78px;
    width:auto;
  }
  .brandmark .brand-name{
    font-family:'Fraunces', serif;
    color:var(--parchment);
    font-size:1.05rem;
    letter-spacing:0.02em;
    font-weight:440;
    display:none;
  }
  @media (min-width:640px){
    .brandmark .brand-name{display:inline;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    height:100svh;
    min-height:560px;
    width:100%;
    overflow:hidden;
    background:var(--ink);
  }
  .hero video, .hero .hero-poster{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* ---------- SECTION 2: ABOUT ---------- */
  .about{
    padding:118px 0 100px;
    background:var(--parchment);
  }
  .about-grid{
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap:72px;
  }
  @media (max-width:860px){
    .about-grid{grid-template-columns:1fr; gap:52px;}
  }
  .about h2{
    font-size:clamp(1.9rem, 3.4vw, 2.7rem);
    line-height:1.14;
    margin-bottom:26px;
    max-width:13ch;
  }
  .about-lead{
    font-size:1.1rem;
    color:var(--ink);
    max-width:52ch;
    margin-bottom:28px;
  }
  .about-body p{
    max-width:52ch;
    color:rgba(28,26,20,0.82);
    margin-bottom:20px;
    font-weight:300;
    font-size:1.02rem;
  }

  .stat-row{
    display:flex;
    gap:44px;
    margin-bottom:36px;
    padding-bottom:36px;
    border-bottom:1px solid var(--line);
  }
  .stat{
    display:flex;
    flex-direction:column;
  }
  .stat .num{
    font-family:'Fraunces', serif;
    font-size:clamp(2.6rem, 5vw, 3.6rem);
    color:var(--forest);
    line-height:1;
    font-weight:440;
  }
  .stat .label{
    margin-top:8px;
    font-size:0.86rem;
    color:rgba(28,26,20,0.62);
    max-width:16ch;
  }

  .facility-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-bottom:8px;
  }
  .facility-list li{
    display:flex;
    align-items:baseline;
    gap:14px;
    font-size:1rem;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
  }
  .facility-list li:last-child{border-bottom:none;}
  .facility-list .mark{
    color:var(--terracotta);
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:1rem;
    flex:0 0 auto;
  }

  .riders-note{
    margin-top:44px;
    padding-top:36px;
    border-top:1px solid var(--line);
  }
  .riders-note p{
    max-width:60ch;
    color:rgba(28,26,20,0.82);
    font-weight:300;
    font-size:1.02rem;
    margin-bottom:0;
  }

  .closing-line{
    margin-top:88px;
    padding-top:56px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:center;
    text-align:center;
  }
  .closing-line p{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-size:clamp(1.3rem, 2.6vw, 1.7rem);
    color:var(--forest);
    max-width:26ch;
    line-height:1.4;
  }

  /* ---------- SECTION 3: GALLERY ---------- */
  .gallery{
    background:var(--ink);
    padding:96px 0 110px;
  }
  .gallery-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:44px;
    flex-wrap:wrap;
  }
  .gallery-head h2{
    color:var(--parchment);
    font-size:clamp(1.8rem, 3vw, 2.4rem);
  }
  .gallery-head p{
    color:rgba(243,238,225,0.6);
    max-width:34ch;
    font-size:0.96rem;
    font-weight:300;
  }

  .mosaic{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    grid-auto-rows:150px;
    gap:14px;
  }
  .mosaic figure{
    position:relative;
    overflow:hidden;
    margin:0;
    background:var(--ink-soft);
  }
  .mosaic img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .mosaic figcaption{
    position:absolute;
    left:0; right:0; bottom:0;
    padding:16px 18px 14px;
    font-size:0.82rem;
    color:var(--parchment);
    background:linear-gradient(0deg, rgba(15,13,9,0.78) 0%, rgba(15,13,9,0) 100%);
    font-weight:300;
    letter-spacing:0.01em;
  }

  .m1{grid-column:1 / 4; grid-row:1 / 3;}
  .m2{grid-column:4 / 7; grid-row:1 / 2;}
  .m3{grid-column:4 / 6; grid-row:2 / 4;}
  .m4{grid-column:6 / 7; grid-row:2 / 4;}
  .m5{grid-column:1 / 3; grid-row:3 / 4;}
  .m6{grid-column:3 / 4; grid-row:3 / 4;}

  @media (max-width:860px){
    .mosaic{grid-template-columns:repeat(2, 1fr); grid-auto-rows:180px;}
    .m1{grid-column:1/3; grid-row:1/2;}
    .m2{grid-column:1/2; grid-row:2/3;}
    .m3{grid-column:2/3; grid-row:2/3;}
    .m4{grid-column:1/2; grid-row:3/4;}
    .m5{grid-column:2/3; grid-row:3/4;}
    .m6{grid-column:1/3; grid-row:4/5;}
  }

  /* ---------- SECTION 4: CONTACT ---------- */
  .contact{
    background:var(--ink);
    border-top:1px solid var(--line-light);
    padding:96px 0 48px;
  }
  .contact-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:64px;
  }
  @media (max-width:860px){
    .contact-grid{grid-template-columns:1fr; gap:44px;}
  }
  .contact h2{
    color:var(--parchment);
    font-size:clamp(1.8rem, 3vw, 2.4rem);
    margin-bottom:18px;
    max-width:12ch;
  }
  .contact-intro{
    color:rgba(243,238,225,0.62);
    font-weight:300;
    max-width:38ch;
    margin-bottom:40px;
  }

  .contact-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .contact-list li{
    padding:18px 0;
    border-bottom:1px solid var(--line-light);
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:16px;
    flex-wrap:wrap;
  }
  .contact-list li:first-child{padding-top:0;}
  .contact-list .k{
    font-size:0.78rem;
    letter-spacing:0.04em;
    color:var(--gold-bright);
    font-family:'Fraunces', serif;
    font-style:italic;
    flex:0 0 auto;
  }
  .contact-list .v{
    color:var(--parchment);
    text-decoration:none;
    font-size:1rem;
    text-align:right;
  }
  .contact-list a.v:hover{color:var(--gold-bright);}

  .map-frame{
    width:100%;
    aspect-ratio:4/3.4;
    border:1px solid var(--line-light);
    filter:grayscale(0.25) sepia(0.08) contrast(1.02);
  }
  @media (max-width:860px){ .map-frame{aspect-ratio:4/3;} }

  .foot{
    margin-top:80px;
    padding-top:28px;
    border-top:1px solid var(--line-light);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
  }
  .foot-mark{
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(243,238,225,0.5);
    font-size:0.85rem;
  }
  .foot-mark img{height:44px; width:auto; opacity:0.85;}
  .foot p{
    color:rgba(243,238,225,0.4);
    font-size:0.82rem;
  }
/* WordPress and Elementor page support */
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap;}
.screen-reader-text:focus{clip:auto;width:auto;height:auto;z-index:100000;background:#fff;color:#111;padding:12px;}
.site-header{background:var(--ink);color:var(--parchment);padding:18px 32px;}
.site-header .site-header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.site-header a{color:inherit;text-decoration:none;}
.site-header img{width:64px;height:64px;object-fit:cover;border-radius:4px;}
.site-header nav ul{display:flex;flex-wrap:wrap;gap:20px;list-style:none;padding:0;margin:0;}
.site-main-inner{max-width:1180px;margin:auto;padding:72px 32px;min-height:45vh;}
.site-main-inner h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:24px;}
.site-main-inner .entry-content > * + *{margin-top:1.2em;}
.site-main-inner .post-card{padding:28px 0;border-bottom:1px solid var(--line);}
.site-main-inner .post-card h2{font-size:1.6rem;}
.site-main-inner .post-card a{text-decoration:none;}
.site-main-inner .post-card a:hover{color:var(--terracotta);}
.site-main-inner .navigation{margin-top:28px;}
.goldwing-home-content:empty{display:none;}
.goldwing-home-content:not(:empty){max-width:1180px;margin:auto;padding:48px 32px;}
@media(max-width:640px){.brandmark{top:18px;left:20px}.brandmark img{height:64px}.site-header .site-header-inner{align-items:flex-start;flex-direction:column}}
.hero-play{
    position:absolute; top:24px; right:24px; z-index:4;
    display:grid; place-items:center; width:46px; height:46px;
    border:1px solid rgba(243,238,225,.8); border-radius:50%;
    background:rgba(28,26,20,.72); color:var(--parchment);
    font-size:1.05rem; cursor:pointer;
  }
  .hero-play:hover{background:var(--ink);}
  .hero-play[hidden]{display:none;}