/*
Theme Name: Abby's Vet Nurse Services
Theme URI: https://abbysvetnurseservices.example
Author: Abby's Vet Nurse Services
Author URI: https://abbysvetnurseservices.example
Description: Bespoke one-page landing theme for Abby's Vet Nurse Services, with editable content (Customizer), a Settings > Holding Page maintenance mode with contact form, and a built-in Settings > SEO meta title/description manager.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abbysvet

Compiled from assets/scss/page-abbys-vet-nurse.scss -- edit the .scss source
and recompile rather than editing this file directly.
*/
:root{
    --brown:#5C2A12;
    --brown-soft:#7A3B1D;
    --coral:#FF5A62;
    --coral-dark:#E23E48;
    --cream:#FFF9F4;
    --cream-alt:#FFEFE3;
    --pink-tint:#FFE3E1;
    --white:#FFFFFF;
    --text-muted:#8A6152;
    --whatsapp:#25D366;
    --whatsapp-dark:#1EBE57;
    --border:#F3DCCB;
    --radius-lg:28px;
    --radius-md:18px;
    --radius-sm:12px;
    --shadow:0 10px 30px rgba(92,42,18,0.10);
    --shadow-sm:0 4px 14px rgba(92,42,18,0.08);
    --space-1:8px;
    --space-2:16px;
    --space-3:24px;
    --space-4:32px;
    --space-5:48px;
    --space-6:64px;
    --space-7:96px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Nunito Sans', system-ui, -apple-system, sans-serif;
    background:var(--cream);
    color:var(--brown);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Baloo 2', 'Nunito Sans', sans-serif;
    font-weight:700;
    color:var(--brown);
    line-height:1.15;
    margin:0 0 var(--space-2);
  }
  p{margin:0 0 var(--space-2);}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  ul{margin:0;padding:0;list-style:none;}

  .container{
    max-width:1180px;
    margin:0 auto;
    padding:0 var(--space-3);
  }

  section{padding:var(--space-6) 0;}

  a:focus-visible,
  button:focus-visible{
    outline:3px solid var(--coral-dark);
    outline-offset:3px;
    border-radius:6px;
  }

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:12px 26px;
    border-radius:999px;
    font-family:'Baloo 2', sans-serif;
    font-weight:600;
    font-size:1rem;
    text-decoration:none;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease, color 200ms ease;
  }
  .btn svg{width:20px;height:20px;flex:none;}
  .btn-primary{
    background:var(--coral);
    color:var(--white);
    box-shadow:var(--shadow-sm);
  }
  .btn-primary:hover{background:var(--coral-dark); transform:translateY(-2px); box-shadow:var(--shadow);}
  .btn-outline{
    background:var(--white);
    color:var(--brown);
    border:2px solid var(--border);
  }
  .btn-outline:hover{border-color:var(--coral); color:var(--coral-dark); transform:translateY(-2px);}
  .btn-whatsapp{background:var(--whatsapp); color:var(--white); box-shadow:var(--shadow-sm);}
  .btn-whatsapp:hover{background:var(--whatsapp-dark); transform:translateY(-2px); box-shadow:var(--shadow);}
  .btn-block{width:100%;}

  /* ---------- Header ---------- */
  .avn-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,249,244,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  .nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px var(--space-3);
    max-width:1180px;
    margin:0 auto;
    gap:var(--space-2);
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:var(--brown);
  }
  .brand img{width:44px;height:44px;object-fit:contain;}
  .brand-name{
    font-family:'Baloo 2', sans-serif;
    font-weight:700;
    font-size:1.15rem;
    line-height:1.1;
  }
  .brand-name span{
    display:block;
    font-family:'Nunito Sans', sans-serif;
    font-weight:600;
    font-size:0.7rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--coral-dark);
  }

  nav.primary-nav{display:flex; align-items:center; gap:var(--space-4);}
  nav.primary-nav ul{display:flex; gap:var(--space-3);}
  nav.primary-nav a{
    text-decoration:none;
    font-weight:600;
    color:var(--brown-soft);
    padding:8px 4px;
    border-bottom:2px solid transparent;
    transition:color 150ms ease, border-color 150ms ease;
  }
  nav.primary-nav a:hover{color:var(--coral-dark); border-color:var(--coral);}

  .header-actions{display:flex; align-items:center; gap:12px;}

  .menu-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:48px;height:48px;
    border-radius:12px;
    border:2px solid var(--border);
    background:var(--white);
    cursor:pointer;
  }
  .menu-toggle svg{width:22px;height:22px;}

  /* ---------- Hero ---------- */
  .hero{
    padding-top:var(--space-6);
    padding-bottom:var(--space-6);
    overflow:hidden;
    position:relative;
  }
  .hero .container{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    align-items:center;
    gap:var(--space-5);
  }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--pink-tint);
    color:var(--coral-dark);
    font-weight:700;
    font-size:0.8rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:8px 16px;
    border-radius:999px;
    margin-bottom:var(--space-2);
  }
  .hero h1{
    font-size:clamp(2.1rem, 4.2vw, 3.4rem);
    margin-bottom:var(--space-2);
  }
  .hero h1 em{
    font-style:normal;
    color:var(--coral);
  }
  .hero p.lede{
    font-size:1.15rem;
    color:var(--brown-soft);
    max-width:52ch;
    margin-bottom:var(--space-4);
  }
  .hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:var(--space-4);}

  .hero-art{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .hero-art .blob{
    position:absolute;
    width:min(420px, 90%);
    aspect-ratio:1/1;
    background:var(--pink-tint);
    border-radius:62% 38% 55% 45% / 48% 55% 45% 52%;
    z-index:0;
  }
  .hero-art img{
    position:relative;
    z-index:1;
    width:min(300px, 70%);
    filter:drop-shadow(0 18px 30px rgba(92,42,18,0.18));
  }

  .trust-strip{
    display:flex;
    flex-wrap:wrap;
    gap:12px 28px;
    padding-top:var(--space-2);
    border-top:1px solid var(--border);
  }
  .trust-item{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    font-size:0.92rem;
    color:var(--brown-soft);
  }
  .trust-item svg{width:20px;height:20px;color:var(--coral);flex:none;}

  /* ---------- Section headers ---------- */
  .section-head{
    max-width:640px;
    margin:0 auto var(--space-5);
    text-align:center;
  }
  .section-head .eyebrow{margin-bottom:var(--space-2);}
  .section-head h2{font-size:clamp(1.7rem, 3vw, 2.4rem);}
  .section-head p{color:var(--text-muted); font-size:1.05rem;}

  /* ---------- Services ---------- */
  .services{background:var(--white);}
  .services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:var(--space-3);
  }
  .service-card{
    background:var(--cream);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:var(--space-3);
    display:flex;
    gap:16px;
    align-items:flex-start;
    transition:transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
  }
  .service-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-sm);
    border-color:var(--coral);
  }
  .icon-badge{
    flex:none;
    width:52px;height:52px;
    border-radius:16px;
    background:var(--pink-tint);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .icon-badge svg{width:26px;height:26px;color:var(--coral-dark);}
  .service-card h3{font-size:1.08rem; margin-bottom:4px;}
  .service-card p{font-size:0.94rem; color:var(--text-muted); margin:0;}

  /* ---------- Notice ---------- */
  .notice{
    background:var(--cream-alt);
  }
  .notice-box{
    display:flex;
    gap:18px;
    align-items:flex-start;
    background:var(--white);
    border:1px solid var(--border);
    border-left:6px solid var(--coral);
    border-radius:var(--radius-md);
    padding:var(--space-4);
    max-width:840px;
    margin:0 auto;
    box-shadow:var(--shadow-sm);
  }
  .notice-box svg{width:30px;height:30px;color:var(--coral-dark);flex:none;margin-top:2px;}
  .notice-box h3{font-size:1.15rem; margin-bottom:6px;}
  .notice-box p{color:var(--brown-soft); margin:0; font-size:0.98rem;}

  /* ---------- Areas ---------- */
  .areas{background:var(--white);}
  .areas-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
    gap:var(--space-2);
    max-width:900px;
    margin:0 auto;
  }
  .area-chip{
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--cream);
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    padding:14px 18px;
    font-weight:700;
    font-family:'Baloo 2', sans-serif;
    font-size:1.02rem;
  }
  .area-chip svg{width:20px;height:20px;color:var(--coral);flex:none;}

  /* ---------- Contact ---------- */
  .contact{
    background:linear-gradient(160deg, var(--brown) 0%, #7A3418 100%);
    color:var(--cream);
  }
  .contact .section-head h2{color:var(--white);}
  .contact .section-head p{color:#F3D8C9;}
  .contact-card{
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:var(--radius-lg);
    padding:var(--space-5);
    max-width:760px;
    margin:0 auto;
    text-align:center;
  }
  .contact-methods{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:var(--space-3);
    margin:var(--space-4) 0;
  }
  .contact-method{
    display:flex;
    align-items:center;
    gap:12px;
    background:rgba(255,255,255,0.95);
    color:var(--brown);
    border-radius:var(--radius-sm);
    padding:14px 22px;
    text-decoration:none;
    font-weight:700;
    font-family:'Baloo 2', sans-serif;
    min-height:48px;
    transition:transform 200ms ease, background-color 200ms ease;
  }
  .contact-method:hover{background:var(--white); transform:translateY(-2px);}
  .contact-method svg{width:22px;height:22px;color:var(--coral-dark);flex:none;}
  .contact-method.is-whatsapp{background:var(--whatsapp); color:var(--white);}
  .contact-method.is-whatsapp svg{color:var(--white);}
  .contact-method.is-whatsapp:hover{background:var(--whatsapp-dark);}
  .contact-note{font-size:0.92rem; color:#F3D8C9;}

  /* ---------- Footer ---------- */
  .avn-footer{
    padding:var(--space-4) 0;
    text-align:center;
  }
  .avn-footer p{
    margin:0;
    font-size:0.88rem;
    color:var(--text-muted);
  }
  .avn-footer .foot-links{margin-top:8px; display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}
  .avn-footer .foot-links a{text-decoration:none; font-weight:600; color:var(--brown-soft);}
  .avn-footer .foot-links a:hover{color:var(--coral-dark);}

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .hero .container{grid-template-columns:1fr; text-align:center;}
    .hero p.lede{margin-left:auto; margin-right:auto;}
    .hero-ctas{justify-content:center;}
    .trust-strip{justify-content:center; text-align:left;}
    .hero-art{order:-1; margin-bottom:var(--space-2);}
  }
  @media (max-width:760px){
    nav.primary-nav{
      position:fixed;
      inset:64px 12px auto 12px;
      background:var(--white);
      border:1px solid var(--border);
      border-radius:var(--radius-md);
      box-shadow:var(--shadow);
      padding:var(--space-2);
      flex-direction:column;
      align-items:stretch;
      transform:translateY(-12px);
      opacity:0;
      pointer-events:none;
      transition:transform 200ms ease, opacity 200ms ease;
    }
    nav.primary-nav.open{
      transform:translateY(0);
      opacity:1;
      pointer-events:auto;
    }
    nav.primary-nav ul{flex-direction:column; gap:4px;}
    nav.primary-nav a{display:block; padding:12px; border-radius:10px;}
    nav.primary-nav a:hover{background:var(--cream);}
    .header-actions .btn-outline{display:none;}
    .menu-toggle{display:flex;}
  }
  @media (max-width:520px){
    section{padding:var(--space-5) 0;}
    .contact-card{padding:var(--space-3);}
  }

  /* ---------- Generic page content (page.php / index.php) ---------- */
  .avn-page{padding:var(--space-6) 0;}
  .avn-page-content{max-width:760px;}
  .avn-page-title{font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin-bottom:var(--space-3);}
  .avn-page-body{font-size:1.05rem; color:var(--brown-soft);}
  .avn-page-body h2, .avn-page-body h3, .avn-page-body h4{margin-top:var(--space-4);}
  .avn-page-body p, .avn-page-body ul, .avn-page-body ol{margin-bottom:var(--space-2);}
  .avn-page-body ul, .avn-page-body ol{padding-left:1.4em;}
  .avn-page-body a{color:var(--coral-dark); text-decoration:underline; text-underline-offset:2px;}
  .avn-page-body img{border-radius:var(--radius-md); margin:var(--space-3) 0;}
  .avn-page-body blockquote{border-left:4px solid var(--coral); margin:var(--space-3) 0; padding:var(--space-2) var(--space-3); background:var(--cream-alt); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-style:italic;}

  /* ---------- Holding page ---------- */
  .avn-holding-body{margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--cream); font-family:'Nunito Sans', system-ui, -apple-system, sans-serif; color:var(--brown); padding:var(--space-3);}
  .holding-page{width:100%; display:flex; justify-content:center;}
  .holding-card{width:100%; max-width:480px; background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:var(--space-5) var(--space-4); text-align:center;}
  .holding-logo{width:96px; height:96px; object-fit:contain; margin:0 auto var(--space-3);}
  .holding-card h1{font-size:clamp(1.5rem, 3vw, 2rem); margin-bottom:var(--space-2);}
  .holding-message{color:var(--text-muted); margin-bottom:var(--space-4);}
  .holding-notice{border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:var(--space-3); font-weight:600; font-size:0.94rem; text-align:left;}
  .holding-notice--success{background:#E6F7ED; color:#1EBE57;}
  .holding-notice--error{background:#FDECEC; color:var(--coral-dark);}
  .holding-form{text-align:left;}
  .holding-field{margin-bottom:var(--space-2);}
  .holding-field label{display:block; font-weight:700; font-family:'Baloo 2', sans-serif; font-size:0.92rem; margin-bottom:6px;}
  .holding-field input, .holding-field textarea{width:100%; border:2px solid var(--border); border-radius:var(--radius-sm); padding:10px 14px; font-family:'Nunito Sans', system-ui, -apple-system, sans-serif; font-size:1rem; color:var(--brown); background:var(--cream); resize:vertical; transition:border-color 150ms ease;}
  .holding-field input:focus-visible, .holding-field textarea:focus-visible{outline:none; border-color:var(--coral);}
  .holding-hp{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

  @media (max-width:520px){
    .holding-card{padding:var(--space-4) var(--space-3);}
  }

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