/*
 Theme Name:   The Angel Inn
 Theme URI:    https://auralinkgroup.uk
 Description:  Custom theme for The Angel Inn, Wrangle. Built by Zenlabra / AuraLink Group. No page builder required.
 Author:       Zenlabra / AuraLink Group
 Author URI:   https://auralinkgroup.uk
 Version:      1.1.0
 License:      GPL-2.0+
 Text Domain:  angel-inn
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,400;1,600&family=Lato:wght@300;400;700;900&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#1c1108;
  --bark:#2e1a09;
  --amber:#c4781a;
  --gold:#e8a83a;
  --foam:#fdf6e8;
  --parchment:#f5ead4;
  --smoke:#7a6a56;
  --border:rgba(196,120,26,0.28);
  --r:5px;
  --max:1100px;
}

html{scroll-behavior:smooth}
body{font-family:'Lato',sans-serif;background:var(--foam);color:var(--ink);font-size:16px;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;color:var(--ink);line-height:1.15;font-weight:700}
a{color:var(--amber);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold)}
img{max-width:100%;height:auto;display:block}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}

/* ── TICKER ── */
.angel-ticker{background:var(--bark);overflow:hidden;border-bottom:2px solid var(--amber);height:32px;display:flex;align-items:center}
.angel-ticker-track{display:flex;white-space:nowrap;animation:angelTick 40s linear infinite;will-change:transform}
.angel-ticker-track span{color:var(--gold);font-size:.7rem;letter-spacing:.1em;padding:0 2.5rem;font-family:'Lato',sans-serif}
@keyframes angelTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── HEADER ── */
.site-header{background:var(--bark);height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;position:sticky;top:0;z-index:200;border-bottom:3px solid var(--amber);box-shadow:0 4px 28px rgba(0,0,0,.5)}
.site-branding{display:flex;align-items:center;gap:.9rem;text-decoration:none}
/* Logo — transparent PNG, no background */
.site-logo{height:48px;width:auto;object-fit:contain;filter:drop-shadow(0 0 10px rgba(232,168,58,.55));animation:logoGlow 3s ease-in-out infinite}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 7px rgba(232,168,58,.4))}50%{filter:drop-shadow(0 0 18px rgba(232,168,58,.85))}}
.site-title{font-family:'Playfair Display',serif;color:#fff;font-size:1.22rem;line-height:1;font-weight:700}
.main-nav{display:flex;gap:1.5rem;align-items:center}
.main-nav a{color:rgba(255,255,255,.7);font-size:.87rem;letter-spacing:.02em;transition:color .2s;padding:.2rem 0;border-bottom:2px solid transparent;text-decoration:none;font-family:'Lato',sans-serif}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--gold);border-bottom-color:var(--amber)}
.nav-fb-btn{background:var(--amber)!important;color:#fff!important;font-weight:900;font-size:.76rem;padding:.5rem 1.2rem;border-radius:var(--r);letter-spacing:.07em;text-transform:uppercase;border-bottom:none!important;transition:background .2s!important}
.nav-fb-btn:hover{background:var(--gold)!important;color:var(--ink)!important}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}

/* ── WOOD RULE ── */
.wood-rule{height:5px;background:linear-gradient(90deg,var(--bark) 0%,var(--amber) 30%,var(--gold) 50%,var(--amber) 70%,var(--bark) 100%)}

/* ── EYEBROW ── */
.eyebrow{font-family:'Lato',sans-serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);font-weight:700;margin-bottom:.45rem;display:block}
.eyebrow-light{color:var(--gold)}

/* ── BUTTONS ── */
.btn{display:inline-block;font-family:'Lato',sans-serif;font-weight:900;font-size:.87rem;letter-spacing:.05em;text-transform:uppercase;padding:.8rem 2.2rem;border-radius:var(--r);border:none;cursor:pointer;text-decoration:none;transition:all .22s}
.btn-amber{background:var(--amber);color:#fff!important;box-shadow:0 4px 20px rgba(196,120,26,.45)}
.btn-amber:hover{background:var(--gold);color:var(--ink)!important;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)!important}

/* ── HERO ── */
.hero{position:relative;min-height:95vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;animation:heroZoom 20s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,17,8,.55) 0%,rgba(28,17,8,.75) 60%,rgba(28,17,8,.92) 100%)}
.hero-content{position:relative;z-index:2;padding:2rem;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
/* Hero logo — transparent, floating, no black box */
.hero-logo{
  height:clamp(120px,18vw,200px);
  width:auto;
  object-fit:contain;
  /* No background — PNG already has transparency */
  filter:drop-shadow(0 20px 40px rgba(196,120,26,.5));
  animation:heroFloat 5s ease-in-out infinite;
  margin-bottom:1.2rem;
  mix-blend-mode:normal;
}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero-pill{display:inline-block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(232,168,58,.4);border-radius:2rem;padding:.3rem 1rem;margin-bottom:1rem;font-family:'Lato',sans-serif}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,8vw,6rem);color:#fff;line-height:1;margin-bottom:.5rem}
.hero h1 em{color:var(--gold);font-style:italic}
.hero-sub{color:rgba(255,255,255,.58);font-size:1.05rem;max-width:500px;margin:.75rem auto 2.2rem;line-height:1.75;font-weight:300}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}
.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.3);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.3rem;animation:hintBob 2.4s ease-in-out infinite;pointer-events:none}
@keyframes hintBob{0%,100%{opacity:.3;transform:translateX(-50%) translateY(0)}50%{opacity:.65;transform:translateX(-50%) translateY(5px)}}

/* ── ABOUT ── */
.section-about{background:var(--parchment);padding:6rem 2rem}
.about-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.pub-photo-wrap{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 24px 64px rgba(28,17,8,.3)}
.pub-photo-wrap img{width:100%;transition:transform 8s ease}
.pub-photo-wrap:hover img{transform:scale(1.05)}
.pub-photo-badge{position:absolute;bottom:0;left:0;right:0;background:rgba(28,17,8,.84);backdrop-filter:blur(6px);padding:.85rem 1.2rem;border-top:1px solid var(--border);color:#fff;font-size:.78rem;font-family:'Lato',sans-serif;display:flex;align-items:center;gap:.5rem}
.pub-photo-badge strong{color:var(--gold)}
.about-text h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:.9rem}
.about-text p{color:var(--smoke);line-height:1.8;font-size:.95rem;margin-bottom:1.5rem}
.feat-list{display:flex;flex-direction:column;gap:.8rem}
.feat-item{display:flex;gap:.75rem;align-items:flex-start;font-size:.88rem;color:var(--smoke);line-height:1.5}
.feat-icon{font-size:1.05rem;flex-shrink:0;margin-top:.1rem}
.feat-item strong{color:var(--ink)}

/* ── DISCO ── */
.section-disco{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center;justify-content:center}
.disco-bg{position:absolute;inset:0;background-size:cover;background-position:center 20%}
.disco-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,17,8,.93) 0%,rgba(80,15,0,.6) 50%,rgba(28,17,8,.93) 100%)}
.disco-content{position:relative;z-index:2;text-align:center;padding:5rem 2rem;max-width:680px;margin:0 auto;opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.disco-content.is-visible{opacity:1;transform:translateY(0)}
.disco-content h2{font-size:clamp(2.2rem,5vw,3.8rem);color:#fff;line-height:1.05;margin-bottom:.85rem}
.disco-content h2 em{color:var(--gold);font-style:italic}
.disco-content p{color:rgba(255,255,255,.55);font-size:.95rem;line-height:1.72;margin-bottom:1.8rem;font-weight:300}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.8rem}
.chip{background:rgba(255,255,255,.07);border:1px solid rgba(232,168,58,.3);color:var(--gold);font-size:.74rem;padding:.28rem .82rem;border-radius:2rem;letter-spacing:.04em;font-family:'Lato',sans-serif}

/* ── BINGO — centred, compact price card ── */
.section-bingo{background:var(--bark);padding:6rem 2rem}
.bingo-inner{max-width:var(--max);margin:0 auto}
.bingo-header{text-align:center;margin-bottom:3rem}
.bingo-header h2{font-size:clamp(2rem,5vw,3.2rem);color:#fff;margin-bottom:.6rem}
.bingo-header p{color:rgba(255,255,255,.42);font-size:.9rem;max-width:460px;margin:0 auto}
/* Single-column centred layout */
.bingo-single{max-width:520px;margin:0 auto;text-align:center}
.price-hero{
  background:var(--amber);
  border-radius:10px;
  padding:1.4rem 2rem;
  text-align:center;
  margin:0 auto 2rem;
  max-width:280px; /* compact — not full width */
  box-shadow:0 8px 28px rgba(0,0,0,.3);
}
.price-big{font-family:'Playfair Display',serif;font-size:3.5rem;color:var(--foam);line-height:1}
.price-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.72);margin-top:.2rem}
.b-list{
  display:flex;flex-direction:column;gap:.85rem;
  text-align:left;
  max-width:380px;
  margin:0 auto 2rem;
}
.b-row{display:flex;gap:.7rem;align-items:flex-start}
.b-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;flex-shrink:0;margin-top:.56rem}
.b-text{color:rgba(255,255,255,.65);font-size:.87rem;line-height:1.55}
.b-text strong{color:#fff}

/* ── BULLETIN ── */
.section-bulletin{background:var(--foam);padding:6rem 2rem}
.bulletin-inner{max-width:var(--max);margin:0 auto}
.bulletin-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.bulletin-head h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.bulletin-more{font-size:.78rem;color:var(--amber);border:1px solid var(--border);padding:.3rem .9rem;border-radius:var(--r);text-decoration:none;transition:all .2s;font-family:'Lato',sans-serif}
.bulletin-more:hover{background:var(--amber);color:#fff}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post-card{background:#fff;border-radius:10px;border:1px solid rgba(196,120,26,.1);overflow:hidden;box-shadow:0 2px 14px rgba(28,17,8,.06);transition:transform .2s,box-shadow .2s;text-decoration:none;display:block;color:inherit}
.post-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px rgba(28,17,8,.12)}
.post-card-top{background:var(--bark);padding:.85rem 1.2rem;display:flex;align-items:center;justify-content:space-between}
.post-cat{font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;font-family:'Lato',sans-serif}
.post-date{font-size:.7rem;color:rgba(255,255,255,.38);font-family:'Lato',sans-serif}
.post-body{padding:1.1rem 1.2rem 1.4rem}
.post-card .post-title{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--ink);line-height:1.3;margin-bottom:.5rem}
.post-excerpt{font-size:.82rem;color:var(--smoke);line-height:1.6;margin:0}
.post-foot{padding:.65rem 1.2rem;border-top:1px solid rgba(196,120,26,.1);font-size:.74rem;color:var(--amber);font-weight:700;letter-spacing:.04em;font-family:'Lato',sans-serif;text-align:right}
.no-posts{text-align:center;padding:3rem;color:var(--smoke);font-size:.95rem;background:#fff;border-radius:10px;border:1px dashed var(--border);grid-column:1/-1}

/* ── CONTACT ── */
.section-contact{background:var(--parchment);padding:6rem 2rem}
.contact-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contact-left h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:.75rem}
.contact-left p{color:var(--smoke);font-size:.93rem;line-height:1.72;margin-bottom:1.5rem}
.fb-btn{display:inline-flex;align-items:center;gap:.6rem;background:#1877F2;color:#fff!important;font-weight:700;padding:.82rem 1.7rem;border-radius:var(--r);text-decoration:none;font-size:.9rem;font-family:'Lato',sans-serif;transition:background .2s;box-shadow:0 4px 20px rgba(24,119,242,.3)}
.fb-btn:hover{background:#1460c0}
.fb-f{font-weight:900;font-size:1.1em}
.info-card{background:#fff;border-radius:10px;padding:1.6rem;border:1px solid rgba(196,120,26,.14);box-shadow:0 4px 22px rgba(28,17,8,.07)}
.info-row{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.9rem;font-size:.87rem;color:var(--smoke)}
.info-row:last-child{margin-bottom:0}
.info-icon{flex-shrink:0;width:20px;text-align:center}
.info-row a{color:var(--amber)}
.hours-title{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:1.1rem 0 .5rem;font-family:'Lato',sans-serif}
.hours-row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--smoke);padding:.26rem 0;border-bottom:1px solid rgba(196,120,26,.09)}
.hours-row:last-child{border:none}
.hours-time{color:var(--amber);font-weight:700}

/* ── PAGE HERO ── */
.page-hero{background:var(--bark);padding:5rem 2rem 4rem;text-align:center;border-bottom:3px solid var(--amber)}
.page-hero .eyebrow{display:block;text-align:center;margin-bottom:.6rem}
.page-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.5rem);margin-bottom:.75rem;text-align:center}
.page-hero p{color:rgba(255,255,255,.5);font-size:.95rem;max-width:520px;margin:0 auto;line-height:1.7;text-align:center}

/* ── FIND US ── */
.find-us-wrap{max-width:680px;margin:0 auto;padding:4.5rem 2rem 5rem}
.find-us-wrap .fb-btn{margin-bottom:2.5rem;display:inline-flex}
.find-us-wrap .info-card{margin-top:2rem}
.find-us-map{margin-top:2rem;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(28,17,8,.1)}
.find-us-map iframe{display:block;width:100%;border:0}

/* ── EVENTS ── */
.section-bulletin.events-page{padding-top:4rem}

/* ── SINGLE POST ── */
.single-post-wrap{max-width:720px;margin:0 auto;padding:4rem 2rem 5rem}
.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--amber);font-size:.84rem;font-family:'Lato',sans-serif;margin-bottom:2rem;text-decoration:none;font-weight:700}
.back-link:hover{color:var(--gold)}
.post-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--smoke);margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border);font-family:'Lato',sans-serif}
.post-content{color:var(--smoke);line-height:1.85;font-size:.97rem}
.post-content p{margin-bottom:1.25rem}
.post-content h2{font-size:1.6rem;margin:2.5rem 0 .75rem;color:var(--ink)}
.post-content h3{font-size:1.25rem;margin:2rem 0 .6rem;color:var(--ink)}
.post-content ul,.post-content ol{margin:1rem 0 1.25rem 1.5rem}
.post-content li{margin-bottom:.5rem;color:var(--smoke)}
.post-content strong{color:var(--ink);font-weight:700}
.post-content img{border-radius:8px;margin:1.5rem 0;box-shadow:0 4px 20px rgba(28,17,8,.1)}

/* ── POLICY PAGES ── */
.policy-wrap{max-width:720px;margin:0 auto;padding:4rem 2rem 5rem}
.policy-wrap h2{font-size:1.7rem;margin:2rem 0 .65rem;color:var(--ink)}
.policy-wrap h2:first-child{margin-top:0}
.policy-wrap h3{font-size:1.15rem;margin:1.75rem 0 .5rem;color:var(--ink)}
.policy-wrap p{color:var(--smoke);line-height:1.8;margin-bottom:1rem;font-size:.95rem}
.policy-wrap ul{margin:.75rem 0 1.25rem 1.5rem}
.policy-wrap li{color:var(--smoke);line-height:1.7;margin-bottom:.4rem;font-size:.93rem}
.policy-wrap a{color:var(--amber)}
.policy-wrap a:hover{color:var(--gold)}
.policy-table{width:100%;border-collapse:collapse;font-size:.88rem;margin:1rem 0 1.5rem}
.policy-table th{background:var(--parchment);padding:.6rem .9rem;text-align:left;border:1px solid #d4c4a8;font-family:'Lato',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.policy-table td{padding:.6rem .9rem;border:1px solid #d4c4a8;color:var(--smoke);vertical-align:top}
.policy-last-updated{font-size:.8rem;color:var(--smoke);font-style:italic;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border)}

/* ── FOOTER ── */
.site-footer{background:var(--bark);border-top:3px solid var(--amber);padding:3rem 2rem 1.5rem;text-align:center}
.footer-logo{height:48px;width:auto;object-fit:contain;opacity:.6;margin:0 auto 1rem;filter:drop-shadow(0 4px 10px rgba(232,168,58,.3))}
.footer-manager{display:flex;gap:.9rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap}
.footer-manager a{color:rgba(255,255,255,.4);font-size:.76rem;text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:3px;padding:.28rem .85rem;transition:all .2s;font-family:'Lato',sans-serif}
.footer-manager a:hover{color:var(--gold);border-color:var(--amber)}
.footer-links{display:flex;gap:1.4rem;justify-content:center;margin-bottom:.8rem;flex-wrap:wrap}
.footer-links a{color:rgba(255,255,255,.28);font-size:.72rem;text-decoration:none;transition:color .2s;font-family:'Lato',sans-serif}
.footer-links a:hover{color:var(--gold)}
.footer-copy{color:rgba(255,255,255,.18);font-size:.68rem;font-family:'Lato',sans-serif}
.footer-copy a{color:rgba(255,255,255,.3)}

/* ── LEGAL BAND ── */
.legal-band{background:#120b04;padding:.9rem 2rem;text-align:center}
.legal-band p{color:rgba(255,255,255,.2);font-size:.67rem;line-height:1.6;max-width:900px;margin:0 auto;font-family:'Lato',sans-serif}

/* ── GDPR ── */
.gdpr-bar{position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(20,11,3,.97);border-top:2px solid var(--amber);padding:1rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;justify-content:space-between}
.gdpr-bar p{color:rgba(255,255,255,.68);font-size:.79rem;max-width:580px;line-height:1.5;font-family:'Lato',sans-serif;margin:0}
.gdpr-bar p a{color:var(--gold)}
.gdpr-btns{display:flex;gap:.6rem;flex-shrink:0}
.gdpr-accept{background:var(--amber);color:#fff;border:none;padding:.5rem 1.3rem;border-radius:var(--r);cursor:pointer;font-weight:700;font-size:.79rem;font-family:'Lato',sans-serif}
.gdpr-reject{background:transparent;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.18);padding:.5rem 1.2rem;border-radius:var(--r);cursor:pointer;font-size:.79rem;font-family:'Lato',sans-serif}

/* ── PAGINATION ── */
.pagination{text-align:center;margin-top:3rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.pagination .page-numbers{display:inline-block;padding:.5rem .9rem;border-radius:var(--r);font-size:.85rem;font-family:'Lato',sans-serif;border:1px solid var(--border);color:var(--amber);text-decoration:none;transition:all .2s}
.pagination .page-numbers:hover,.pagination .page-numbers.current{background:var(--amber);color:#fff;border-color:var(--amber)}
.pagination .page-numbers.current{font-weight:700}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .about-inner,.contact-inner{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr 1fr}
  .main-nav{display:none}
  .main-nav.is-open{display:flex;flex-direction:column;position:fixed;top:73px;left:0;right:0;background:var(--bark);border-bottom:2px solid var(--amber);padding:1.5rem 2rem;gap:1rem;z-index:199}
  .menu-toggle{display:block}
}
@media(max-width:600px){
  .post-grid{grid-template-columns:1fr}
  .section-about,.section-bingo,.section-bulletin,.section-contact{padding:4rem 1.5rem}
  .section-disco{min-height:420px}
  .site-header{padding:0 1.25rem}
  .single-post-wrap,.policy-wrap,.find-us-wrap{padding:3rem 1.25rem 4rem}
  .page-hero{padding:4rem 1.5rem 3rem}
  .price-hero{max-width:100%}
  .b-list{max-width:100%}
}
