/*
 Theme Name: YR Vet Child
 Theme URI: https://euravet.com
 Description: Child theme for YR Vet site (cleaned, no !important)
 Author: Eugene
 Template: twentytwentyfive
 Version: 1.1
*/

/* ---------- Tokens ---------- */
:root{
  --yrv-bg: #0f1a3a;      /* deep navy */
  --yrv-accent: #7c3aed;  /* violet */
  --yrv-accent-2:#22c55e; /* green highlights */
  --yrv-text: #111827;    /* slate-900 */
  --yrv-muted:#6b7280;    /* slate-500 */
  --yrv-card: #ffffff;
  --header-h: 56px;
}

/* ---------- Base / layout ---------- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  color:#111;
  font-feature-settings:"liga" 1,"kern" 1;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;

  /* page background + readability veil */
  background-image:url('https://euravet.com/wp-content/uploads/2025/10/generated-YbNykoznLGs0XJp4.png');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(255,255,255,.65);
  z-index:-1;
}

.wrapper{max-width:1180px;margin-inline:auto;padding-inline:16px}
.section{
  padding-top: clamp(40px, 8vw, 90px);
  padding-bottom: clamp(40px, 8vw, 90px);
}
.section-peach{background:#fdeee0;border-radius:12px}

/* ---------- Announcement (optional) ---------- */
.top-announcement{
  background:linear-gradient(90deg,var(--yrv-accent),#a855f7);
  color:#fff;
  text-align:center;
  padding:10px 16px;
  font-weight:600;
}

/* ---------- Header / nav ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
  backdrop-filter:saturate(160%) blur(8px);
}
.site-header .wrapper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--header-h);
}
.site-header .brand{display:flex;align-items:center;gap:10px}
.site-header .brand img{height:50px;width:auto;display:block}

.primary-nav .menu{
  list-style:none;
  display:flex;
  gap:18px;
  margin:0;
  padding:0;
}
.primary-nav .menu a{
  display:block;
  text-decoration:none;
  color:var(--yrv-text);
  font-weight:600;
  letter-spacing:.01em;
  font-size:14px;
  padding:4px 8px;
  line-height:1;
  border-radius:10px;
}
.primary-nav .menu .current-menu-item > a,
.primary-nav .menu a:hover{color:var(--yrv-accent)}

/* ---------- Hero ---------- */
.hero{
  background:radial-gradient(1200px 600px at 10% 10%,#1c2757 0%,var(--yrv-bg) 45%,#0b1026 100%);
  color:#fff;
  padding-top:clamp(56px,9vw,120px);
  padding-bottom:clamp(56px,9vw,120px);
  text-align:center;
  overflow:hidden;
}
.hero .wrapper{max-width:980px}
.hero h1{
  font-size:clamp(2.2rem,2.4rem + 2.4vw,4rem);
  line-height:1.05;
  margin:0 0 12px;
  font-weight:900;
  letter-spacing:-.02em;
  margin-left:auto;
  margin-right:auto;
  max-width:720px;
}
.hero p{
  opacity:.9;
  font-size:clamp(1.05rem,1rem + .6vw,1.375rem);
  margin:0 0 24px;
  margin-left:auto;
  margin-right:auto;
  max-width:720px;
}

/* ---------- Buttons (global + Gutenberg) ---------- */
.btn-primary,
.wp-block-button__link,
.wp-block-buttons .wp-block-button .wp-block-button__link{
  display:inline-block;
  background:linear-gradient(90deg,var(--yrv-accent),#9333ea);
  color:#fff;
  border:0;
  padding:14px 22px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(124,58,237,.28);
  transition:filter .2s ease, box-shadow .2s ease, transform .15s ease;
}
.wp-block-buttons {
  display:flex;
  justify-content:center;
}
.btn-primary:hover,
.wp-block-button__link:hover{
  filter:brightness(1.08);
  box-shadow:0 10px 28px rgba(124,58,237,.36);
  transform:translateY(-1px);
}

/* ---------- Fixed background band ---------- */
.fixed-bg{
  position:relative;
  min-height:160px;
  background:url("https://euravet.com/wp-content/uploads/2025/10/photo-1553688738-a278b9f063e0-scaled.jpg") center/cover no-repeat fixed;
  color:#fff;
  isolation:isolate;
}
.fixed-bg .overlay{position:relative;z-index:1}
.fixed-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(15,26,58,.70);
  z-index:0;
}

/* ---------- Images / cards ---------- */
.full-img,
.wp-block-image img,
.entry-content img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  box-shadow:0 6px 24px rgba(2,6,23,.12);
}

/* ---------- Columns / lists ---------- */
.cols{display:grid;gap:28px}
.cols-2{grid-template-columns:1.2fr 1fr}
.cols.middle{align-items:center}
.cols.top{align-items:flex-start}
@media (max-width:900px){.cols-2{grid-template-columns:1fr}}

.entry-content h2.wp-block-heading,
.entry-content h3.wp-block-heading{scroll-margin-top:90px;color:var(--yrv-text)}
.entry-content h2.wp-block-heading{font-size:clamp(1.6rem,1.4rem + 1vw,2.2rem)}
.entry-content h3.wp-block-heading{font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem)}

.entry-content ul.wp-block-list{padding-left:1.2rem}
.entry-content ul.wp-block-list li{margin:.25rem 0}

/* ---------- Home page image sizing niceties ---------- */
body.home .wp-block-image{text-align:center}
body.home .wp-block-image img{max-width:640px;display:inline-block}
body.home .wp-block-columns .wp-block-column:nth-child(2) .wp-block-image img{
  max-width:520px;max-height:320px;object-fit:cover
}
body.home img[alt="Puppy resting"]{max-width:520px}
body.home img[alt="States map"]{max-width:640px}

/* ---------- Contact form ---------- */
.yrvet-contact{max-width:720px;margin:20px auto 0;text-align:left}
.yrvet-contact .form-row{margin-bottom:14px}
.yrvet-contact label{display:block;font-weight:600;margin-bottom:6px}
.yrvet-contact input[type="text"],
.yrvet-contact input[type="email"],
.yrvet-contact input[type="tel"],
.yrvet-contact textarea{
  width:100%;
  padding:10px 12px;
  border-radius:6px;
  border:1px solid rgba(0,0,0,.15);
  background:rgba(255,255,255,.9);
  outline:0;
}
.yrvet-contact textarea{resize:vertical}

/* ---------- Notices ---------- */
.notice{
  display:block;
  max-width:700px;
  margin:40px auto;
  padding:16px 22px;
  border-radius:6px;
  font-weight:500;
  text-align:center;
  font-size:1.05rem;
  line-height:1.5;
}
.notice.success{background:#e6f6ea;color:#217a36;border:1px solid #b3e2bd}
.notice.error{background:#fbeaea;color:#9a1b1b;border:1px solid #f3bcbc}

/* ---------- Schedule page (Cal.com) ---------- */
.cal-page{
  max-width:1100px;
  margin:0 auto;
  padding:calc(var(--header-h) + 24px) 16px 40px;
  text-align:center;
  background:transparent;
}
body.logged-in .cal-page{
  padding-top:calc(var(--header-h) + var(--wp-admin--admin-bar--height,32px) + 24px);
}
#cal-inline{min-height:860px}
#cal-inline iframe{
  width:100%;
  min-height:860px;
  border:0;
  border-radius:12px;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  background:#fff;
}

/* Center title, subtitle, and the button row on Schedule page */
.wp-block-group.alignwide.cal-wrap > h2.page-title,
.wp-block-group.alignwide.cal-wrap > p.page-sub,
.cal-inner .cal-foot {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 740px;
  width: 100%;
}

.wp-block-group.alignwide.cal-wrap .wp-block-buttons {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

/* ---------- Footer ---------- */
footer.section{
  border-top:1px solid rgba(0,0,0,.06);
  background:#fafafa;
  color:var(--yrv-muted);
  font-size:14px;
}

/* ---------- Utilities ---------- */
.text-center{text-align:center}
.m-0{margin:0}

/* ---------- Responsive tweaks ---------- */
@media (max-width:980px){
  .site-header .wrapper{padding-block:10px}
  .primary-nav .menu{gap:16px}
}
@media (max-width:780px){
  .primary-nav{display:none} /* simple for now; add burger later */
  .hero{padding-block:72px}
  /* iOS Safari: avoid fixed-attachment jank */
  .fixed-bg{background-attachment:scroll}
}