/* ============================================================
   GUARD DOG PUPPIES — Global Design System
   Edit colours & fonts here once; the whole site updates.
   ============================================================ */
:root{
  --gdp-bg:#14110C;
  --gdp-bg-2:#1B1710;
  --gdp-panel:#221D14;
  --gdp-panel-2:#2A2419;
  --gdp-gold:#C9A227;
  --gdp-gold-2:#E8C766;
  --gdp-gold-dim:#8a7a55;
  --gdp-cream:#F5EFE0;
  --gdp-muted:#BDB29B;
  --gdp-border:rgba(201,162,39,.28);
  --gdp-display:'Cinzel',Georgia,serif;
  --gdp-body:'Manrope',-apple-system,sans-serif;
  --gdp-radius:14px;
  --gdp-shadow:0 18px 50px rgba(0,0,0,.5);
}

/* ---------- Base / dark canvas ---------- */
body{background-color:var(--gdp-bg)!important;color:var(--gdp-cream);font-family:var(--gdp-body);-webkit-font-smoothing:antialiased}
body h1,body h2,body h3,body h4{font-family:var(--gdp-display);color:var(--gdp-cream);letter-spacing:.02em;line-height:1.15}
body h1{font-weight:800}
body p{color:var(--gdp-muted);line-height:1.75;font-size:1.02rem}
body a{color:var(--gdp-gold-2)}
body a:hover{color:var(--gdp-gold)}
.wp-site-blocks{background:var(--gdp-bg)}
::selection{background:var(--gdp-gold);color:#14110C}

/* ---------- Utility text ---------- */
.gdp-eyebrow{font-family:var(--gdp-body)!important;color:var(--gdp-gold)!important;text-transform:uppercase;letter-spacing:.35em;font-size:.78rem!important;font-weight:700}
.gdp-gold{color:var(--gdp-gold)!important}
.gdp-cream p,.gdp-cream{color:var(--gdp-cream)!important}
.gdp-lead p,.gdp-lead{font-size:1.15rem!important;color:var(--gdp-muted)}
.gdp-divider{border:none!important;border-top:1px solid var(--gdp-border)!important;width:90px!important;margin:1.2rem auto!important}
.gdp-divider.alignleft{margin:1.2rem 0!important}

/* ---------- Sections ---------- */
.gdp-section{padding:clamp(3.5rem,8vw,6.5rem) 1.4rem}
.gdp-section--alt{background:var(--gdp-bg-2);border-top:1px solid rgba(201,162,39,.12);border-bottom:1px solid rgba(201,162,39,.12)}
.gdp-section--gold{background:linear-gradient(135deg,#2A2005,#1B1710 60%);border-top:1px solid var(--gdp-border)}

/* ---------- Hero ---------- */
.gdp-hero{position:relative;overflow:hidden}
.gdp-hero .wp-block-cover__image-background{animation:gdpKenBurns 22s ease-in-out infinite alternate}
@keyframes gdpKenBurns{from{transform:scale(1)}to{transform:scale(1.09)}}
.gdp-hero h1{font-size:clamp(2.3rem,5.2vw,4.2rem);text-shadow:0 4px 30px rgba(0,0,0,.6)}
.gdp-hero .gdp-eyebrow{animation:gdpFadeUp 1s .1s both}
.gdp-hero h1{animation:gdpFadeUp 1s .25s both}
.gdp-hero p{animation:gdpFadeUp 1s .45s both}
.gdp-hero .wp-block-buttons{animation:gdpFadeUp 1s .65s both}
@keyframes gdpFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ---------- Buttons ---------- */
body .wp-block-button__link{background:linear-gradient(135deg,var(--gdp-gold-2),var(--gdp-gold) 55%,#A07E1C);color:#171307!important;font-family:var(--gdp-body);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;border-radius:60px;padding:1.05rem 2.2rem;border:none;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
body .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(201,162,39,.35);color:#171307!important}
body .wp-block-button__link::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s}
body .wp-block-button__link:hover::after{left:130%}
body .is-style-outline .wp-block-button__link{background:transparent;border:1.5px solid var(--gdp-gold);color:var(--gdp-gold-2)!important}
body .is-style-outline .wp-block-button__link:hover{background:rgba(201,162,39,.12);box-shadow:none}

/* ---------- Cards ---------- */
.gdp-card{background:var(--gdp-panel);border:1px solid var(--gdp-border);border-radius:var(--gdp-radius);padding:1.8rem;transition:transform .35s ease,box-shadow .35s ease,border-color .35s;height:100%}
.gdp-card:hover{transform:translateY(-8px);box-shadow:var(--gdp-shadow);border-color:var(--gdp-gold)}
.gdp-card h3,.gdp-card h4{margin-top:.4rem}
.gdp-card img{border-radius:10px}
.gdp-card--flush{padding:0;overflow:hidden}
.gdp-card--flush .gdp-card-body{padding:1.6rem}
.gdp-card--flush img{border-radius:0;width:100%;transition:transform .6s ease}
.gdp-card--flush:hover img{transform:scale(1.05)}

/* ---------- Badges ---------- */
.gdp-badge{display:inline-block;padding:.35rem 1rem;border-radius:40px;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-family:var(--gdp-body)}
.gdp-badge--available{background:rgba(46,160,67,.15);color:#57d574;border:1px solid rgba(87,213,116,.4)}
.gdp-badge--reserved{background:rgba(201,162,39,.15);color:var(--gdp-gold-2);border:1px solid var(--gdp-border)}
.gdp-badge--sold{background:rgba(220,53,69,.12);color:#ef8a94;border:1px solid rgba(239,138,148,.35)}
.gdp-badge--gold{background:rgba(201,162,39,.14);color:var(--gdp-gold-2);border:1px solid var(--gdp-border)}

/* ---------- Trust strip / stats ---------- */
.gdp-stat h3{font-size:clamp(2.2rem,4vw,3.2rem);color:var(--gdp-gold-2);margin:0}
.gdp-stat p{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem!important;font-weight:700;color:var(--gdp-muted)}

/* ---------- Price ---------- */
.gdp-price{font-family:var(--gdp-display);color:var(--gdp-gold-2)!important;font-size:1.35rem!important;font-weight:700}

/* ---------- Testimonials ---------- */
.gdp-testimonial{background:var(--gdp-panel);border:1px solid var(--gdp-border);border-radius:var(--gdp-radius);padding:2rem;position:relative}
.gdp-testimonial::before{content:'\201C';position:absolute;top:-10px;left:18px;font-family:Georgia,serif;font-size:5rem;color:var(--gdp-gold);opacity:.5;line-height:1}
.gdp-testimonial p{font-style:italic;color:var(--gdp-cream)}
.gdp-testimonial cite{color:var(--gdp-gold);font-style:normal;font-weight:700;letter-spacing:.05em}

/* ---------- Certificates ---------- */
.gdp-cert-card{background:var(--gdp-panel);border:1px dashed var(--gdp-border);border-radius:var(--gdp-radius);padding:1.4rem;text-align:center;transition:border-color .3s,transform .3s}
.gdp-cert-card:hover{border-color:var(--gdp-gold);transform:translateY(-4px)}
.gdp-cert-card p{font-size:.9rem!important}

/* ---------- FAQ (details block) ---------- */
body .wp-block-details{background:var(--gdp-panel);border:1px solid var(--gdp-border);border-radius:12px;padding:1.2rem 1.5rem;margin-bottom:1rem;transition:border-color .3s}
body .wp-block-details:hover{border-color:var(--gdp-gold)}
body .wp-block-details summary{font-family:var(--gdp-display);font-size:1.08rem;font-weight:700;color:var(--gdp-cream);cursor:pointer;list-style:none;position:relative;padding-right:2rem}
body .wp-block-details summary::-webkit-details-marker{display:none}
body .wp-block-details summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--gdp-gold);font-size:1.6rem;font-family:var(--gdp-body);transition:transform .3s}
body .wp-block-details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
body .wp-block-details[open]{border-color:var(--gdp-gold)}
body .wp-block-details p{margin-top:1rem}

/* ---------- Header ---------- */
.gdp-header-wrap{position:sticky;top:0;z-index:999;background:rgba(20,17,12,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,162,39,.18);transition:box-shadow .3s,background .3s}
.gdp-header-wrap.is-scrolled{background:rgba(16,13,9,.97);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.gdp-header{padding:.65rem 1.4rem}
.gdp-header .wp-block-navigation a{font-family:var(--gdp-body);font-weight:600;font-size:.92rem;letter-spacing:.04em;color:var(--gdp-cream)}
.gdp-header .wp-block-navigation a:hover{color:var(--gdp-gold-2)}
body .wp-block-navigation__submenu-container{background-color:#1B1710!important;border:1px solid var(--gdp-border)!important;border-radius:10px;box-shadow:var(--gdp-shadow);padding:.4rem 0}
body .wp-block-navigation__submenu-container a{color:var(--gdp-cream)!important;padding:.55rem 1.1rem}
body .wp-block-navigation__submenu-container a:hover{color:var(--gdp-gold-2)!important;background:rgba(201,162,39,.08)}
body .wp-block-navigation__responsive-container.is-menu-open{background-color:#14110C!important}
body .wp-block-navigation__responsive-container.is-menu-open a{color:var(--gdp-cream)}
body .wp-block-navigation__responsive-container-open,body .wp-block-navigation__responsive-container-close{color:var(--gdp-gold)}

/* ---------- Footer ---------- */
.gdp-footer{background:#0F0C08;border-top:1px solid var(--gdp-border);padding:4rem 1.4rem 2rem}
.gdp-footer h4{color:var(--gdp-gold);font-size:1rem;letter-spacing:.2em;text-transform:uppercase}
.gdp-footer p,.gdp-footer a{color:var(--gdp-muted);font-size:.95rem}
.gdp-footer a:hover{color:var(--gdp-gold-2)}
.gdp-footer .gdp-footer-bottom p{font-size:.8rem!important;color:#7a7161}

/* ---------- WhatsApp float ---------- */
.gdp-wa-float{position:fixed;right:22px;bottom:22px;z-index:9999;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .3s;animation:gdpPulse 2.6s infinite}
.gdp-wa-float:hover{transform:scale(1.1)}
.gdp-wa-float svg{width:32px;height:32px;fill:#fff}
@keyframes gdpPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ---------- WPForms dark skin ---------- */
body .wpforms-container input[type=text],body .wpforms-container input[type=email],body .wpforms-container input[type=tel],body .wpforms-container select,body .wpforms-container textarea{background:var(--gdp-bg-2)!important;border:1px solid var(--gdp-border)!important;color:var(--gdp-cream)!important;border-radius:10px!important;padding:.85rem 1rem!important}
body .wpforms-container input:focus,body .wpforms-container textarea:focus,body .wpforms-container select:focus{border-color:var(--gdp-gold)!important;box-shadow:0 0 0 3px rgba(201,162,39,.18)!important}
body .wpforms-container .wpforms-field-label{color:var(--gdp-cream)!important;font-weight:600}
body .wpforms-container button[type=submit]{background:linear-gradient(135deg,var(--gdp-gold-2),var(--gdp-gold) 55%,#A07E1C)!important;color:#171307!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.08em;border:none!important;border-radius:60px!important;padding:1rem 2.4rem!important;transition:transform .3s,box-shadow .3s!important}
body .wpforms-container button[type=submit]:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(201,162,39,.35)}

/* ---------- Scroll reveal ---------- */
.gdp-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
.gdp-reveal.is-visible{opacity:1;transform:none}
.wp-block-columns .wp-block-column:nth-child(2) .gdp-reveal{transition-delay:.12s}
.wp-block-columns .wp-block-column:nth-child(3) .gdp-reveal{transition-delay:.24s}
.wp-block-columns .wp-block-column:nth-child(4) .gdp-reveal{transition-delay:.36s}

/* ---------- Blog / posts ---------- */
body .wp-block-post-title a{color:var(--gdp-cream)}
body .wp-block-post-title a:hover{color:var(--gdp-gold-2)}
body .wp-block-post-date,body .wp-block-post-excerpt__excerpt{color:var(--gdp-muted)}
body .wp-block-separator{border-color:var(--gdp-border)}
blockquote{border-left:3px solid var(--gdp-gold);padding-left:1.2rem;color:var(--gdp-cream)}

/* ---------- Images ---------- */
.gdp-frame img{border-radius:var(--gdp-radius);border:1px solid var(--gdp-border)}
figure figcaption{color:var(--gdp-gold-dim);font-size:.85rem}

/* ---------- Breadcrumb-ish sub nav ---------- */
.gdp-subnav a{display:inline-block;margin:.25rem;padding:.55rem 1.3rem;border:1px solid var(--gdp-border);border-radius:40px;color:var(--gdp-cream);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .3s}
.gdp-subnav a:hover{border-color:var(--gdp-gold);color:var(--gdp-gold-2);background:rgba(201,162,39,.08)}

/* ---------- Accessibility & motion ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.gdp-reveal{opacity:1;transform:none}}
@media (max-width:781px){.gdp-section{padding:3rem 1.1rem}.gdp-hero h1{font-size:2.1rem}}

/* ---------- Hero (group with background image) ---------- */
.gdp-hero{position:relative;overflow:hidden;background-size:cover;background-position:center;padding:clamp(6rem,15vw,11rem) 1.5rem!important}
.gdp-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,12,8,.85),rgba(15,12,8,.5) 45%,#14110C 98%);pointer-events:none}
.gdp-hero>*{position:relative;z-index:1}
.gdp-hero--sub{padding:clamp(4.5rem,10vw,7rem) 1.5rem!important}
.gdp-logo{margin:0}
.gdp-header .wp-block-navigation{flex:1;justify-content:center}
@media (max-width:1080px){.gdp-header-cta{display:none}}
.gdp-footer .wp-block-image{margin-bottom:.8rem}

/* Hero background slider */
.gdp-hero__slide{position:absolute!important;inset:0;background-size:cover;background-position:center 30%;opacity:0;transition:opacity 1.5s ease-in-out;z-index:0!important;margin:0;animation:none!important}
.gdp-hero__slide.is-active{opacity:1}
.gdp-hero--slider::before{z-index:1}
.gdp-hero--slider>*{z-index:2}

/* Stud profiles */
.gdp-stud{display:flex;gap:2.5rem;align-items:flex-start;flex-wrap:wrap;margin:0 0 4.5rem}
.gdp-stud:last-child{margin-bottom:1rem}
.gdp-stud__frame{position:relative;flex:1 1 380px;min-width:300px;aspect-ratio:1/1;background:#0F0C08;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.gdp-stud__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .45s ease;margin:0}
.gdp-stud__frame img.is-active{opacity:1}
.gdp-stud__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:rgba(15,12,8,.62);color:#fff;font-size:1.05rem;line-height:1;cursor:pointer;transition:background .2s}
.gdp-stud__nav:hover{background:rgba(15,12,8,.9)}
.gdp-stud__nav--prev{left:12px}
.gdp-stud__nav--next{right:12px}
.gdp-stud__count{position:absolute;right:14px;bottom:12px;z-index:3;background:rgba(15,12,8,.72);color:#fff;font-size:.8rem;padding:.25rem .7rem;border-radius:99px;letter-spacing:.05em}
.gdp-stud__info{flex:1 1 420px;min-width:300px}
.gdp-stud__info h3{margin-top:0}
.gdp-stud__specs{list-style:none;padding:0;margin:1.2rem 0 1.6rem}
.gdp-stud__specs li{display:flex;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:.95rem}
.gdp-stud__specs li span{flex:0 0 160px;opacity:.65;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;padding-top:.15rem}
.gdp-stud__specs li b{font-weight:600}
.gdp-stud__docs{display:flex;gap:.8rem;flex-wrap:wrap}
.gdp-stud__doc{display:inline-block;padding:.6rem 1.2rem;border:1px solid rgba(255,255,255,.25);border-radius:99px;font-size:.85rem;text-decoration:none;transition:border-color .2s,background .2s}
.gdp-stud__doc:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.06)}