/*
Theme Name: Venuebird
Theme URI: https://venuebird.co.uk
Author: FlyPost Marketing
Description: Custom theme for Venuebird, a curated wedding venue guide for the Chilterns and Home Counties.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: venuebird
*/

/* Venuebird shared styles */
:root{
  --ivory:#faf7f1; --paper:#ffffff; --ink:#211d18; --soft:#6b6257;
  --sage:#5c6b53; --sage-dark:#46543f; --gold:#b08d4f; --breast:#c98f7e;
  --belly:#f2ead9; --line:#e7e0d4;
  --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;
  background:var(--ivory) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cg fill='none' stroke='%235c6b53' stroke-opacity='.06' stroke-width='1.4'%3E%3Cpath d='M40 30q8-14 20-16-2 12-14 18z'/%3E%3Cpath d='M200 80q-12-8-12-22 12 4 16 18z'/%3E%3Cpath d='M90 200q4-16 18-20-2 14-12 22z'/%3E%3Cpath d='M226 210q-14-2-20-14 14-2 22 8z'/%3E%3C/g%3E%3Cg fill='%23b08d4f' fill-opacity='.05'%3E%3Ccircle cx='150' cy='30' r='3'/%3E%3Ccircle cx='30' cy='130' r='2.4'/%3E%3Ccircle cx='210' cy='150' r='2.8'/%3E%3Ccircle cx='120' cy='245' r='2.2'/%3E%3C/g%3E%3C/svg%3E") repeat;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Header */
header{background:rgba(250,247,241,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1120px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:.01em}
.logo svg{width:34px;height:32px}
.nav-links{display:flex;gap:28px;font-size:.92rem;font-weight:500;color:var(--soft)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{background:var(--sage);color:#fff;padding:9px 18px;border-radius:999px;font-size:.88rem;font-weight:600}
.nav-cta:hover{background:var(--sage-dark);color:#fff}

/* Hero (homepage) */
.hero{position:relative;padding:74px 24px 64px;text-align:center;max-width:900px;margin:0 auto}
.corner{position:absolute;width:230px;height:230px;pointer-events:none;opacity:.85}
.corner.tl{top:6px;left:-30px}
.corner.br{bottom:-10px;right:-30px;transform:rotate(180deg)}
.hero .mascot{width:82px;height:76px;margin:0 auto 6px}
.eyebrow{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.12;margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--sage-dark)}
.hero p{color:var(--soft);font-size:1.08rem;max-width:560px;margin:0 auto 34px}
.finder{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.finder select{appearance:none;background:var(--paper) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%236b6257" stroke-width="1.5" fill="none"/></svg>') no-repeat right 16px center;border:1px solid var(--line);border-radius:999px;padding:13px 44px 13px 20px;font-family:var(--sans);font-size:.95rem;color:var(--ink);min-width:220px}
.finder button,.btn-ink{background:var(--ink);color:#fff;border:none;border-radius:999px;padding:13px 28px;font-family:var(--sans);font-size:.95rem;font-weight:600;cursor:pointer}
.finder button:hover,.btn-ink:hover{background:#000}

/* Divider */
.divider{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 0;color:var(--sage)}
.divider .rule{height:1px;background:var(--line);flex:0 1 180px}

section{padding:48px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.sec-head h2{font-family:var(--serif);font-weight:400;font-size:1.9rem;display:flex;align-items:center;gap:12px}
.sec-head h2 svg{width:26px;height:26px;flex:none}
.sec-head a{font-size:.9rem;font-weight:600;color:var(--sage-dark)}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(33,29,24,.08)}
.card .ph{aspect-ratio:3/2;position:relative;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 56'%3E%3Cpath d='M56 15.5 49 13.5C46 8.5 39 7 34.5 10 31 12 29.5 15 29.5 18 24 19 19 22 16 27L3 36 15.5 32C17 38 21 43 27 45 32 46.8 38 46 42 42.5 46 39 48.5 33 49 27 49.4 22.5 49 18.5 49 16.8L56 15.5Z' fill='%235c6b53' fill-opacity='.25'/%3E%3Cpath d='M49 13.8C45.5 10.5 40 10 36.5 12.5 34 14.5 32.5 17.5 33 21 33.5 26 36 31 40.5 34.5 44.5 32 47.5 27.5 48.6 22.5 49.3 19.5 49.2 16.5 49 13.8Z' fill='%23c98f7e' fill-opacity='.4'/%3E%3Ccircle cx='41.5' cy='16.5' r='2' fill='%23faf7f1'/%3E%3Cpath d='M33 46.5 31.5 52.5M39 46 38.5 52.5M12 53C28 50 44 50 56 51.5' stroke='%235c6b53' stroke-opacity='.3' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/72px no-repeat,
    linear-gradient(135deg,#e6dfd0,#cfc6b2);
}
.card .ph .tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-dark)}
.card-body{padding:18px 20px 20px}
.card-body h3,.card-body h2{font-family:var(--serif);font-weight:600;font-size:1.15rem;margin-bottom:4px}
.card-body .meta{font-size:.85rem;color:var(--soft);margin-bottom:10px}
.card-body p{font-size:.9rem;color:var(--soft)}

/* County grid */
.county-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.county{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px 22px;display:flex;align-items:center;gap:14px;font-weight:500}
.county:hover{border-color:var(--sage)}
.county svg{width:30px;height:28px;flex:none}
.county div{display:flex;flex-direction:column}
.county span{font-family:var(--serif);font-size:1.1rem}
.county em{font-style:normal;font-size:.8rem;color:var(--soft)}

/* Chips */
.styles{display:flex;gap:12px;flex-wrap:wrap}
.style-chip,.chip{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:8px}
.style-chip::before{content:"";width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='%23b08d4f' fill-opacity='.75'%3E%3Cellipse cx='7' cy='3.4' rx='2' ry='3'/%3E%3Cellipse cx='7' cy='10.6' rx='2' ry='3'/%3E%3Cellipse cx='3.4' cy='7' rx='3' ry='2'/%3E%3Cellipse cx='10.6' cy='7' rx='3' ry='2'/%3E%3Ccircle cx='7' cy='7' r='1.6' fill='%235c6b53'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.style-chip:hover,.chip:hover{border-color:var(--gold);color:var(--gold)}
.chip.active{border-color:var(--sage);color:var(--sage-dark)}

/* Film band */
.film-band{background:var(--ink);color:var(--ivory);border-radius:20px;padding:56px 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.film-band .band-bird{position:absolute;top:18px;right:24px;width:56px;opacity:.55}
.film-band h2{font-family:var(--serif);font-weight:400;font-size:2rem;margin-bottom:14px}
.film-band h2 em{font-style:italic;color:var(--gold)}
.film-band p{color:#c9c2b6;font-size:.98rem;margin-bottom:22px}
.film-band .frame{aspect-ratio:16/9;border-radius:12px;background:linear-gradient(135deg,#3a352d,#57503f);display:flex;align-items:center;justify-content:center}
.play{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.play svg{margin-left:4px}
.btn-gold{display:inline-block;background:var(--gold);color:var(--ink);padding:12px 26px;border-radius:999px;font-weight:600;font-size:.92rem}
.btn-gold:hover{filter:brightness(1.07)}

/* Owners box */
.owners{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:48px;text-align:center;max-width:760px;margin:0 auto}
.owners .mascot{width:92px;height:84px;margin:0 auto 10px}
.owners h2{font-family:var(--serif);font-weight:400;font-size:1.9rem;margin-bottom:14px}
.owners p{color:var(--soft);max-width:520px;margin:0 auto 24px}
.btn-sage{display:inline-block;background:var(--sage);color:#fff;padding:13px 28px;border-radius:999px;font-weight:600;font-size:.94rem}
.btn-sage:hover{background:var(--sage-dark);color:#fff}

/* Content pages */
.crumbs{font-size:.82rem;color:var(--soft);padding:20px 0 0}
.crumbs a{color:var(--sage-dark)}
.page-head{padding:22px 0 34px;max-width:760px}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;margin-bottom:14px}
.page-head p{color:var(--soft)}
.filters{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:30px}
.prose{max-width:760px;padding-bottom:48px;color:#3d3831}
.prose h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--ink);margin:28px 0 12px}
.prose p{margin-bottom:14px}
.prose ul{margin:0 0 14px 20px}
.faq{max-width:760px;padding-bottom:64px}
.faq h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin-bottom:18px}
details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:10px}
summary{font-weight:600;cursor:pointer;font-size:.95rem}
details p{margin-top:10px;color:var(--soft);font-size:.92rem}

/* Pricing table */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:32px 0 48px}
.tier{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center}
.tier.hot{border-color:var(--gold);box-shadow:0 10px 30px rgba(176,141,79,.12)}
.tier h3{font-family:var(--serif);font-weight:600;font-size:1.2rem;margin-bottom:6px}
.tier .price{font-family:var(--serif);font-size:2rem;margin:10px 0 2px}
.tier .per{font-size:.8rem;color:var(--soft);margin-bottom:16px}
.tier ul{list-style:none;font-size:.9rem;color:var(--soft);margin-bottom:20px}
.tier li{padding:6px 0;border-bottom:1px solid var(--line)}
.tier li:last-child{border-bottom:none}
.badge{display:inline-block;background:var(--gold);color:#fff;border-radius:999px;padding:3px 12px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}

/* Footer */
footer{border-top:1px solid var(--line);padding:40px 0 48px;margin-top:40px;color:var(--soft);font-size:.88rem}
.flock{display:flex;justify-content:center;align-items:flex-end;gap:26px;margin-bottom:26px;opacity:.6}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot .logo{font-size:1.2rem;color:var(--ink)}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}

@media (max-width:760px){
  .nav-links{display:none}
  .corner{width:150px;height:150px}
  .film-band{grid-template-columns:1fr;padding:36px 28px}
  .owners{padding:36px 24px}
}

.nav-links ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.foot nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
