/*
Theme Name:   Prima Parties
Theme URI:    https://primaparties.co.uk
Description:  Divi 5 child theme for Prima Parties — "a royal invitation". Blended palette (ivory, baby pink, lilac, light blue, plum, champagne gold), self-hosted fonts.
Author:       FUZZ UK
Author URI:   https://fuzzuk.com
Template:     Divi
Version:      1.0.0
Text Domain:  prima-parties
*/

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Parisienne";src:url(fonts/parisienne-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

/* ---------- Design tokens ---------- */
:root{
  --pp-ivory:#FCF8F5;
  --pp-white:#FFFFFF;
  --pp-pink:#F7DFE7;      /* baby pink wash */
  --pp-pink-mid:#E9B9CB;
  --pp-lilac:#E8DDF3;     /* light purple wash */
  --pp-lilac-mid:#B9A2D6;
  --pp-blue:#DEEDF7;      /* light blue wash */
  --pp-blue-mid:#A8CBE4;
  --pp-plum:#3B2A4F;      /* headings, buttons, dark sections */
  --pp-violet:#6E5196;    /* script accents, links (AA on ivory) */
  --pp-text:#2E2A33;
  --pp-muted:#5E5768;
  --pp-gold:#C2A06A;      /* hairlines and small details only */
  --pp-gold-soft:#E6D5B5;
  --pp-radius:18px;
  --pp-arch:999px 999px 18px 18px;
  --pp-shadow:0 18px 40px -22px rgba(59,42,79,.35);
  --pp-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --pp-sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --pp-script:"Parisienne","Brush Script MT",cursive;
}

/* ---------- Base ---------- */
body{background:var(--pp-ivory);color:var(--pp-text);font-family:var(--pp-sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
#page-container,#main-content,.et_pb_section{background-color:transparent}
#main-content{background:var(--pp-ivory)}
body,p,li,input,textarea,select{font-family:var(--pp-sans)}
p{color:var(--pp-text)}
h1,h2,h3,h4,.et_pb_module_header{font-family:var(--pp-serif);color:var(--pp-plum);font-weight:600;line-height:1.15;letter-spacing:.005em;padding-bottom:.35em}
h1{font-size:clamp(2.5rem,5.2vw,4.1rem)}
h2{font-size:clamp(2rem,3.6vw,2.9rem)}
h3{font-size:clamp(1.45rem,2.2vw,1.8rem)}
h4{font-size:1.25rem}
a{color:var(--pp-violet);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pp-plum)}
::selection{background:var(--pp-pink);color:var(--pp-plum)}
:focus-visible{outline:2px solid var(--pp-violet);outline-offset:3px;border-radius:4px}

.pp-script{font-family:var(--pp-script);font-size:clamp(1.7rem,2.6vw,2.2rem);color:var(--pp-violet);line-height:1.1;margin:0 0 .15em;padding:0}
.pp-lead{font-size:1.15em;color:var(--pp-muted);max-width:40em}
.pp-center,.pp-center .et_pb_text,.pp-center .et_pb_text_inner,.pp-center .et_pb_module{text-align:center}
.pp-center p{max-width:46em;margin-left:auto;margin-right:auto}
.pp-center .pp-meta,.pp-center .pp-trustlist{justify-content:center}
.et_pb_text ul.pp-meta,.et_pb_text ul.pp-ticks,.et_pb_text ul.pp-trustlist,.et_pb_text ol.pp-steps,.et_pb_text ul.pp-filter,.pp-footer ul,.et_pb_text ol.pp-ticks{list-style:none !important;padding-left:0 !important;padding-bottom:0}
.et_pb_text ul.pp-ticks{margin:14px 0 18px}
.pp-photo{box-sizing:border-box}
.pp-tile .pp-photo{display:flex}
.pp-center .pp-lead{margin-left:auto;margin-right:auto}
.pp-small{font-size:.9rem;color:var(--pp-muted)}
.pp-rule{display:block;width:84px;height:1px;background:var(--pp-gold);margin:18px 0 22px;border:0;position:relative}
.pp-center .pp-rule{margin-left:auto;margin-right:auto}
.pp-rule:after{content:"";position:absolute;left:50%;top:-4px;width:9px;height:9px;background:var(--pp-ivory);border:1px solid var(--pp-gold);transform:translateX(-50%) rotate(45deg)}
.pp-tbc{background:#FFF3C9;color:#5A4500;padding:.05em .4em;border-radius:4px;font-size:.85em;font-weight:500}

/* ---------- Sections ---------- */
.et_pb_section.pp-section{padding:88px 0}
.et_pb_section.pp-tight{padding:56px 0}
.et_pb_section.pp-ivory{background:var(--pp-ivory)}
.et_pb_section.pp-white{background:var(--pp-white)}
.et_pb_section.pp-wash-pink{background:linear-gradient(180deg,var(--pp-pink) 0%,var(--pp-ivory) 100%)}
.et_pb_section.pp-wash-lilac{background:linear-gradient(180deg,var(--pp-lilac) 0%,var(--pp-ivory) 100%)}
.et_pb_section.pp-wash-blue{background:linear-gradient(180deg,var(--pp-blue) 0%,var(--pp-ivory) 100%)}
.et_pb_section.pp-pastel{background:linear-gradient(120deg,var(--pp-pink) 0%,var(--pp-lilac) 50%,var(--pp-blue) 100%)}
.et_pb_section.pp-plum{background:var(--pp-plum)}
.pp-plum h1,.pp-plum h2,.pp-plum h3,.pp-plum p,.pp-plum li{color:#fff}
.pp-plum .pp-script{color:var(--pp-gold-soft)}
.pp-plum .pp-lead{color:#E9E1F2}
.pp-plum .pp-rule:after{background:var(--pp-plum)}
.pp-plum a{color:var(--pp-gold-soft)}

/* ---------- Hero ---------- */
.et_pb_section.pp-hero{padding:72px 0 64px;background:
  radial-gradient(ellipse at 15% 20%,var(--pp-pink) 0%,transparent 55%),
  radial-gradient(ellipse at 85% 30%,var(--pp-blue) 0%,transparent 55%),
  radial-gradient(ellipse at 60% 100%,var(--pp-lilac) 0%,transparent 60%),
  var(--pp-ivory);position:relative;overflow:hidden}
.pp-hero h1{margin-bottom:.2em}
.pp-hero .et_pb_row{align-items:center}
.pp-page-hero{padding:76px 0 56px !important}
.pp-page-hero .pp-lead{font-size:1.2em}

/* Arched, castle-window image frame */
.pp-arch img,.pp-arch .pp-photo{border-radius:var(--pp-arch);box-shadow:var(--pp-shadow);border:6px solid #fff;outline:1px solid var(--pp-gold);outline-offset:6px}
.pp-arch{position:relative;max-width:440px;margin-left:auto;margin-right:auto}
.et_pb_image.pp-arch .et_pb_image_wrap{display:block}
.et_pb_image.pp-arch img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:top}
.pp-arch .et_pb_image_wrap{border-radius:var(--pp-arch)}
@media (prefers-reduced-motion:no-preference){
  .pp-arch:after{content:"";position:absolute;inset:0;border-radius:var(--pp-arch);pointer-events:none;
    background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);background-size:250% 100%;animation:pp-shimmer 7s ease-in-out infinite}
  @keyframes pp-shimmer{0%,70%{background-position:130% 0}100%{background-position:-30% 0}}
}

/* Photo placeholder (until the shoot) */
.pp-photo{aspect-ratio:3/4;display:flex;align-items:flex-end;justify-content:center;padding:22px;text-align:center;
  background:linear-gradient(160deg,var(--pp-pink) 0%,var(--pp-lilac) 55%,var(--pp-blue) 100%);color:var(--pp-plum);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.pp-photo span{background:rgba(255,255,255,.75);padding:6px 12px;border-radius:999px}

/* ---------- Buttons ---------- */
body #page-container .et_pb_section .et_pb_button,.pp-btn,.pp-form button{
  font-family:var(--pp-sans);font-size:15px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  background:var(--pp-plum);color:#fff;border:1px solid var(--pp-plum);border-radius:999px;padding:14px 30px;line-height:1.3;
  transition:background .25s,color .25s,border-color .25s;display:inline-block;text-decoration:none;cursor:pointer}
body #page-container .et_pb_section .et_pb_button:hover,.pp-btn:hover,.pp-form button:hover{background:var(--pp-violet);border-color:var(--pp-violet);color:#fff;padding:14px 30px}
body #page-container .et_pb_section .et_pb_button:after{display:none}
body #page-container .et_pb_section .pp-btn-ghost .et_pb_button,.pp-btn.pp-ghost{background:transparent;color:var(--pp-plum);border-color:var(--pp-gold)}
body #page-container .et_pb_section .pp-btn-ghost .et_pb_button:hover,.pp-btn.pp-ghost:hover{background:#fff;color:var(--pp-plum);border-color:var(--pp-plum)}
body #page-container .pp-plum .et_pb_button{background:var(--pp-gold);border-color:var(--pp-gold);color:var(--pp-plum)}
body #page-container .pp-plum .et_pb_button:hover{background:#fff;border-color:#fff;color:var(--pp-plum)}
.pp-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.pp-center .pp-btns{justify-content:center}
.et_pb_button_module_wrapper{margin-bottom:0 !important}

/* ---------- Trust bar ---------- */
.et_pb_section.pp-trust{background:#fff;padding:22px 0;border-top:1px solid var(--pp-gold-soft);border-bottom:1px solid var(--pp-gold-soft)}
.pp-trustlist{list-style:none;margin:0;padding:0 !important;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px}
.pp-trustlist li{display:flex;align-items:center;gap:10px;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pp-plum);font-weight:500}
.pp-trustlist li:before{content:"";width:7px;height:7px;border:1px solid var(--pp-gold);transform:rotate(45deg);flex:none}

/* ---------- Cards ---------- */
.pp-card,.et_pb_column.pp-card{background:#fff;border-radius:var(--pp-radius);padding:34px 30px;box-shadow:var(--pp-shadow);border:1px solid #F0E6EE;position:relative;height:100%}
.et_pb_column.pp-card{display:flex;flex-direction:column}
.et_pb_column.pp-card .et_pb_button_module_wrapper{margin-top:auto !important}
.pp-card:before{content:"";position:absolute;left:30px;right:30px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--pp-pink-mid),var(--pp-lilac-mid),var(--pp-blue-mid))}
.pp-card h3{margin-top:4px}
.pp-meta{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px;padding:0 !important;list-style:none}
.pp-meta li{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:var(--pp-lilac);color:var(--pp-plum);padding:4px 12px;border-radius:999px}
.pp-meta li.pp-price{background:var(--pp-ivory);border:1px solid var(--pp-gold-soft)}
.pp-ticks{list-style:none;padding:0 !important;margin:0 0 18px}
.pp-ticks li{position:relative;padding-left:26px;margin-bottom:6px}
.pp-ticks li:before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border:1px solid var(--pp-gold);background:var(--pp-pink);transform:rotate(45deg)}

/* Package detail blocks (parties hub) */
.pp-package{scroll-margin-top:120px}

/* Category tiles */
.pp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.pp-tiles-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin:28px auto 26px;gap:30px}
.pp-tile{display:block;text-decoration:none;text-align:center;color:var(--pp-plum)}
.pp-tile .pp-photo{border-radius:var(--pp-arch);aspect-ratio:3/4;margin-bottom:14px;border:5px solid #fff;box-shadow:var(--pp-shadow)}
.pp-tile strong{font-family:var(--pp-serif);font-size:1.45rem;font-weight:600;display:block}
.pp-tile small{color:var(--pp-muted);font-size:.9rem}
.pp-tile:hover strong{color:var(--pp-violet)}

/* Steps */
.pp-steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0 !important;margin:28px 0 0}
.pp-steps li{counter-increment:s;background:#fff;border-radius:var(--pp-radius);padding:30px 26px 26px;text-align:center;box-shadow:var(--pp-shadow)}
.pp-steps li:before{content:counter(s);display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;border:1px solid var(--pp-gold);font-family:var(--pp-serif);font-size:1.5rem;color:var(--pp-plum);background:var(--pp-ivory)}
.pp-steps strong{display:block;font-family:var(--pp-serif);font-size:1.35rem;color:var(--pp-plum);margin-bottom:4px}

/* Why-us grid */
.pp-why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px;margin-top:20px}
.pp-why div{padding-left:22px;border-left:1px solid var(--pp-gold)}
.pp-why h3{font-size:1.45rem;padding-bottom:.2em}
.pp-why p{margin:0;color:var(--pp-muted)}

/* Reviews */
.pp-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;text-align:left}
.pp-review{margin:0;display:flex;flex-direction:column;background:var(--pp-ivory);border-radius:var(--pp-radius);padding:30px 30px 26px;border:1px solid var(--pp-gold-soft);position:relative}
.pp-review::before{content:"\201C";position:absolute;top:6px;right:22px;font-family:var(--pp-serif);font-size:5rem;line-height:1;color:var(--pp-lilac-mid);opacity:.6}
.pp-stars{color:var(--pp-gold);letter-spacing:.2em;font-size:.95rem;margin-bottom:12px}
.pp-review blockquote{margin:0 0 18px;padding:0;border:0;flex:1}
.pp-review blockquote p{margin:0;font-family:var(--pp-serif);font-style:italic;font-size:1.2rem;line-height:1.5;color:var(--pp-plum)}
.pp-review figcaption{font-weight:500;color:var(--pp-plum);padding-top:14px;border-top:1px solid var(--pp-gold-soft)}
.pp-review figcaption span{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-muted);font-weight:400;margin-top:2px}

/* Hero footnote (About) */
.pp-hero-note{text-align:center;margin-top:10px}
.pp-hero-note .pp-rule{margin-left:auto;margin-right:auto}
.pp-hero-note p{max-width:46em;margin:12px auto 0;color:var(--pp-muted)}

/* Upcoming shows */
#upcoming-shows{scroll-margin-top:110px}
.pp-show-img{display:block;width:100%;height:auto;border-radius:var(--pp-radius) var(--pp-radius) 0 0;border:1px solid var(--pp-gold-soft);border-bottom:0}
.pp-show-panel{background:var(--pp-ivory);border:1px solid var(--pp-gold-soft);border-top:0;border-radius:0 0 var(--pp-radius) var(--pp-radius);padding:26px 28px}
.pp-show-date{font-family:var(--pp-serif);font-size:1.6rem;color:var(--pp-plum);margin:0 0 12px}
.pp-show-facts{margin:0 0 14px;display:grid;gap:10px}
.pp-show-facts div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--pp-gold-soft)}
.pp-show-facts dt{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-muted);padding-top:3px}
.pp-show-facts dd{margin:0;color:var(--pp-plum);font-weight:500}
.pp-show-panel .pp-btns{margin:18px 0 6px}
.pp-show-title{font-size:2.4rem;padding-bottom:.2em}
.pp-show-title + .pp-lead{margin-top:0}
@media (max-width:980px){.pp-show-panel{margin-bottom:28px}}

/* Founder story */
.pp-founder h3{font-size:1.6rem;margin-top:1.4em}
.pp-signoff{font-family:var(--pp-script);font-size:2.2rem;color:var(--pp-violet);margin-top:.4em}
.pp-founder .pp-arch{position:sticky;top:120px}
@media (max-width:980px){.pp-founder .pp-arch{position:static;max-width:340px;margin-bottom:24px}}

/* Team */
.pp-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;margin-top:30px;align-items:start}
.pp-member{margin:0}
.pp-member img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--pp-radius) var(--pp-radius);border:1px solid var(--pp-gold-soft)}
.pp-member figcaption{padding-top:12px}
.pp-member h3{font-size:1.5rem;padding:0;margin:0}
.pp-member span{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-muted)}
.pp-member figcaption p{margin:10px 0 0;font-size:.95rem;line-height:1.55;color:var(--pp-text,#2B2B2B);max-width:none}
.pp-member .pp-fav{font-size:.88rem;color:var(--pp-violet,#6E5196)}
.pp-member .pp-fav strong{font-weight:500;color:var(--pp-plum)}

/* Character gallery */
.pp-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 34px;padding:0 !important;list-style:none}
.pp-filter button{font-family:var(--pp-sans);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:10px 20px;border-radius:999px;border:1px solid var(--pp-gold-soft);background:#fff;color:var(--pp-plum);cursor:pointer}
.pp-filter button[aria-pressed="true"],.pp-filter button:hover{background:var(--pp-plum);border-color:var(--pp-plum);color:#fff}
.pp-chars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.pp-char{background:#fff;border-radius:var(--pp-radius);overflow:hidden;box-shadow:var(--pp-shadow);display:flex;flex-direction:column}
.pp-char .pp-photo{border-radius:0;aspect-ratio:4/5;padding:14px;font-size:.72rem}
.pp-char img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.pp-char-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:4px;flex:1}
.pp-char h3{font-size:1.4rem;padding:0;margin:0}
.pp-char p{font-size:.95rem;color:var(--pp-muted);margin:0 0 12px;padding:0}
.pp-char .pp-tag{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-violet)}
.pp-char a.pp-btn{margin-top:auto;align-self:flex-start;font-size:12px;padding:10px 20px}
.pp-char[hidden]{display:none}
.pp-char-group{margin-top:10px}

/* Disclaimer note */
.pp-note{font-size:.9rem;color:var(--pp-muted);border-top:1px solid var(--pp-gold-soft);padding-top:16px;margin-top:30px}

/* ---------- FAQ (details/summary, no JS) ---------- */
.pp-faq details{background:#fff;border-radius:14px;margin:0 0 12px;border:1px solid #EEE3EC}
.pp-faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 24px;font-family:var(--pp-serif);font-size:1.3rem;font-weight:600;color:var(--pp-plum);position:relative}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--pp-sans);font-weight:400;font-size:1.5rem;color:var(--pp-gold)}
.pp-faq details[open] summary:after{content:"–"}
.pp-faq details>div{padding:0 24px 20px;color:var(--pp-muted)}
.pp-faq h2{margin-top:30px}
.pp-faq > h2:first-child{margin-top:0}
.pp-faq + .pp-faq{margin-top:44px}

/* ---------- Enquiry form ---------- */
.pp-form{background:#fff;border-radius:var(--pp-radius);padding:38px;box-shadow:var(--pp-shadow);border:1px solid #F0E6EE}
.pp-form fieldset{border:0;padding:0;margin:0 0 8px}
.pp-form legend{font-family:var(--pp-serif);font-size:1.5rem;font-weight:600;color:var(--pp-plum);margin-bottom:10px;padding:0}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:22px}
.pp-grid .pp-full{grid-column:1/-1}
.pp-form label{display:block;font-size:.9rem;font-weight:500;color:var(--pp-plum);margin-bottom:6px}
.pp-form label .pp-req{color:#A03363}
.pp-form input[type=text],.pp-form input[type=email],.pp-form input[type=tel],.pp-form input[type=date],.pp-form input[type=time],.pp-form input[type=number],.pp-form select,.pp-form textarea{
  width:100%;font-size:16px;padding:12px 14px;border:1px solid #D9CCE0;border-radius:10px;background:var(--pp-ivory);color:var(--pp-text)}
.pp-form input:focus,.pp-form select:focus,.pp-form textarea:focus{border-color:var(--pp-violet);outline:2px solid var(--pp-lilac);background:#fff}
.pp-form .pp-radio{display:flex;gap:20px;margin-top:4px}
.pp-form .pp-radio label{display:flex;align-items:center;gap:8px;font-weight:400;color:var(--pp-text)}
.pp-form .pp-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--pp-text);font-size:.95rem}
.pp-form .pp-check input{margin-top:6px}
.pp-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.pp-alert{padding:14px 18px;border-radius:10px;background:#FBE4EC;color:#6B1F3E;margin-bottom:18px}

/* ---------- Header ---------- */
#main-header{background:rgba(252,248,245,.96) !important;box-shadow:0 1px 0 var(--pp-gold-soft) !important}
#top-header{background:var(--pp-plum) !important}
#top-header,#top-header a{font-family:var(--pp-sans);color:#fff !important;letter-spacing:.04em}
#logo{max-height:64% !important}
#top-menu li a,.et_mobile_menu li a{font-family:var(--pp-sans);font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-plum) !important}
#top-menu li.current-menu-item>a,#top-menu li a:hover{color:var(--pp-violet) !important;opacity:1 !important}
#top-menu li.pp-menu-cta>a{background:var(--pp-gold);color:var(--pp-plum) !important;padding:12px 22px !important;border-radius:999px;margin-top:-12px}
#top-menu li.pp-menu-cta>a:hover{background:var(--pp-plum);color:#fff !important}
.et_mobile_menu{border-top-color:var(--pp-gold) !important;background:var(--pp-ivory) !important}
.mobile_menu_bar:before{color:var(--pp-plum) !important}
.pp-mobile-call{display:none}
@media (max-width:980px){
  .pp-mobile-call{display:inline-flex;position:fixed;right:16px;bottom:16px;z-index:9999;align-items:center;gap:8px;background:var(--pp-plum);color:#fff !important;padding:13px 20px;border-radius:999px;box-shadow:var(--pp-shadow);font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
}

/* ---------- Footer ---------- */
#main-footer{background:var(--pp-plum)}
#main-footer #footer-widgets{display:none}
#footer-bottom{background:#2E2040 !important;padding:16px 0}
#footer-info,#footer-info a{color:#CFC3DD !important;font-size:13px}
.pp-footer{background:var(--pp-plum);color:#E9E1F2;padding:70px 0 40px}
.pp-footer .pp-wrap{width:80%;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.pp-footer h2{color:#fff;font-size:1.35rem;margin:0 0 12px;padding:0}
.pp-footer p,.pp-footer li{color:#E9E1F2;font-size:.95rem}
.pp-footer ul{list-style:none;margin:0;padding:0}
.pp-footer li{margin-bottom:8px}
.pp-footer a{color:#fff;text-decoration:none}
.pp-footer a:hover{color:var(--pp-gold-soft);text-decoration:underline}
.pp-footer .pp-logo-f{display:block;width:200px;height:auto;margin-bottom:18px}
.pp-footer .pp-disclaimer{grid-column:1/-1;border-top:1px solid rgba(230,213,181,.35);padding-top:22px;font-size:.85rem;color:#CFC3DD}
.pp-socials{display:flex;gap:12px;margin-top:10px}
.pp-socials a{display:inline-flex;width:38px;height:38px;border:1px solid rgba(230,213,181,.6);border-radius:50%;align-items:center;justify-content:center}
.pp-socials svg{width:16px;height:16px;fill:#fff}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .pp-tiles,.pp-chars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp-steps{grid-template-columns:1fr}
  .pp-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp-team{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pp-why{grid-template-columns:1fr}
  .pp-footer .pp-wrap{grid-template-columns:1fr 1fr}
  .et_pb_section.pp-section{padding:64px 0}
  .et_pb_column.pp-card{margin-bottom:0 !important}
  .et_pb_row:has(> .pp-card){row-gap:20px !important}
  .et_pb_row:has(> .pp-card) + .et_pb_row:has(> .pp-card){margin-top:-40px}
  .pp-hero .et_pb_row{row-gap:32px !important}
}
@media (max-width:600px){
  .pp-quotes{grid-template-columns:1fr}
  .pp-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  body{font-size:17px}
  .pp-grid{grid-template-columns:1fr}
  .pp-form{padding:26px 20px}
  .et_pb_section.pp-section{padding:52px 0}
  .et_pb_section.pp-hero{padding:44px 0 40px}
  .et_pb_section.pp-page-hero{padding:44px 0 36px !important}
  .et_pb_section.pp-trust{padding:18px 0}
  .pp-trustlist{gap:8px 22px}
  .pp-chars,.pp-tiles{gap:14px}
  .pp-tile strong{font-size:1.2rem}
  .pp-char-body{padding:14px}
  .pp-footer .pp-wrap{grid-template-columns:1fr;width:88%}
  .pp-btns .pp-btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

/* ---------- Photography ---------- */
.pp-wide{display:block;width:100%;height:auto;border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);border:6px solid #fff;outline:1px solid var(--pp-gold-soft)}
.pp-wide-wrap{margin:34px auto 0;max-width:1080px}
.pp-arch img.pp-arch-img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.pp-tile img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--pp-arch);border:5px solid #fff;box-shadow:var(--pp-shadow);margin-bottom:14px}
#logo{max-height:80% !important}

/* In-page anchors land below the fixed header */
.pp-package{scroll-margin-top:110px}
@media (max-width:980px){.pp-package{scroll-margin-top:0}}

/* Text links inside Divi modules: brand violet (Divi default is blue) */
.et_pb_text a:not(.pp-btn):not(.pp-tile){color:var(--pp-violet)}
.et_pb_text a:not(.pp-btn):not(.pp-tile):hover{color:var(--pp-plum)}
.pp-plum .et_pb_text a:not(.pp-btn):not(.pp-tile){color:var(--pp-gold-soft)}

/* Who we've worked with (25 Oct 2026) */
.pp-clients{list-style:none;margin:14px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:900px}
.pp-clients li{margin:0;padding:8px 16px;border:1px solid rgba(194,160,106,.55);border-radius:999px;background:#fff;font-size:.92rem;color:var(--pp-plum);letter-spacing:.02em}
.pp-show-title + .pp-lead ~ h4{margin-top:22px}
.et_pb_text ul.pp-clients,ul.pp-clients{list-style:none !important;padding:0 !important}
ul.pp-clients li{list-style:none !important}
ul.pp-clients li::before,ul.pp-clients li::marker{content:none;display:none}

ul.pp-clients li.pp-client-logo{border:0;background:none;padding:6px 14px;display:flex;align-items:center}
ul.pp-clients li.pp-client-logo img{height:56px;width:auto;max-width:170px;object-fit:contain;opacity:.88;transition:opacity .3s}
ul.pp-clients li.pp-client-logo img:hover{opacity:1}
ul.pp-clients{gap:18px 34px;align-items:center}
ul.pp-clients img[src*="last-drop-village"],ul.pp-clients img[src*="darwen-live"]{height:76px}

.pp-booking-soon{margin:18px 0 6px;padding:14px 18px;border:1px solid var(--pp-gold-soft);border-radius:var(--pp-radius);background:#fff;color:var(--pp-plum);font-size:.95rem}
.pp-booking-soon strong{display:block;font-family:var(--pp-serif);font-size:1.25rem;font-weight:600;margin-bottom:4px}

/* ------------------------------------------------------------------ */
/* Legal pages: Terms & Privacy (26 Oct 2026)                          */
/* ------------------------------------------------------------------ */
.pp-legal-updated{margin-top:10px;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-muted)}
.pp-glance{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 56px}
.pp-glance-card{background:#fff;border:1px solid var(--pp-gold-soft);border-radius:var(--pp-radius);padding:20px 22px;text-align:center;position:relative}
.pp-glance-card::before{content:"";position:absolute;top:0;left:50%;width:44px;height:2px;margin-left:-22px;background:var(--pp-gold)}
.pp-glance-k{margin:0 0 6px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pp-muted)}
.pp-glance-v{margin:0;font-family:var(--pp-serif);font-size:1.3rem;line-height:1.25;color:var(--pp-plum)}
.pp-legal{display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:start}
.pp-legal-toc{position:sticky;top:110px;background:#fff;border:1px solid var(--pp-gold-soft);border-radius:var(--pp-radius);padding:22px 22px 14px}
.pp-legal-toc-title{margin:0 0 10px;font-family:var(--pp-script);font-size:1.6rem;color:var(--pp-violet);line-height:1}
.pp-legal-toc ol{list-style:none !important;margin:0 !important;padding:0 !important}
.pp-legal-toc li{margin:0;padding:0;border-top:1px solid var(--pp-gold-soft)}
.pp-legal-toc a{display:flex;gap:10px;padding:9px 0;font-size:.93rem;color:var(--pp-plum);text-decoration:none}
.pp-legal-toc a span{color:var(--pp-violet);font-family:var(--pp-serif);font-weight:600;min-width:1.4em}
.pp-legal-toc a:hover,.pp-legal-toc a:focus-visible{color:var(--pp-violet)}
.pp-legal-body{max-width:760px}
.pp-legal-sec{position:relative;background:#fff;border:1px solid var(--pp-gold-soft);border-radius:var(--pp-radius);padding:30px 34px 22px;margin:0 0 20px;scroll-margin-top:110px}
.pp-legal-num{display:block;font-family:var(--pp-serif);font-size:.95rem;font-weight:600;letter-spacing:.12em;color:var(--pp-violet);margin-bottom:2px}
.pp-legal-sec h2{font-size:1.75rem;margin:0 0 14px;padding:0}
.pp-legal-sec p:last-child,.pp-legal-sec ul:last-child{margin-bottom:8px}
.pp-legal-table{width:100%;border-collapse:collapse;margin:4px 0 16px;font-size:.98rem}
.pp-legal-table th{text-align:left;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-muted);font-weight:500;padding:0 14px 10px;border-bottom:1px solid var(--pp-gold)}
.pp-legal-table td{padding:13px 14px;border-bottom:1px solid var(--pp-gold-soft);color:var(--pp-plum)}
.pp-legal-table tr:nth-child(odd) td{background:var(--pp-ivory)}
.pp-legal-contact{text-align:center;padding:30px 20px 6px}
.pp-legal-contact .pp-script{font-size:2rem;margin:0 0 6px}
@media (max-width:980px){
  .pp-glance{grid-template-columns:repeat(2,1fr);margin-bottom:36px}
  .pp-legal{grid-template-columns:1fr;gap:24px}
  .pp-legal-toc{position:static}
  .pp-legal-toc ol{columns:2;column-gap:20px}
  .pp-legal-toc li{break-inside:avoid}
}
@media (max-width:560px){
  .pp-glance{grid-template-columns:1fr 1fr;gap:10px}
  .pp-glance-card{padding:16px 12px}
  .pp-glance-v{font-size:1.08rem}
  .pp-legal-toc ol{columns:1}
  .pp-legal-sec{padding:24px 20px 16px}
  .pp-legal-sec h2{font-size:1.5rem}
}

/* Footer bottom bar: copyright left, FUZZ UK credit right (26 Oct 2026) */
#footer-info{float:none;display:flex;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap;width:100%}
#footer-info .pp-credit a{font-weight:500}
@media (max-width:980px){#footer-info{flex-direction:column;justify-content:center;text-align:center}}

.pp-legal-related{margin:30px 0 0;padding:24px 26px;background:var(--pp-lilac);border-radius:var(--pp-radius)}
.pp-legal-related>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pp-legal-link{display:block;background:#fff;border:1px solid var(--pp-gold-soft);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--pp-plum);transition:border-color .2s,transform .2s}
.pp-legal-link:hover,.pp-legal-link:focus-visible{border-color:var(--pp-violet);transform:translateY(-2px)}
.pp-legal-link strong{display:block;font-family:var(--pp-serif);font-size:1.2rem;font-weight:600}
.pp-legal-link span{display:block;font-size:.88rem;color:var(--pp-muted)}
@media (max-width:560px){.pp-legal-related>div{grid-template-columns:1fr}.pp-legal-related{padding:20px 16px}}
@media (prefers-reduced-motion:reduce){.pp-legal-link{transition:none}.pp-legal-link:hover{transform:none}}

@media (max-width:560px){
  .pp-legal-table thead{display:none}
  .pp-legal-table,.pp-legal-table tbody,.pp-legal-table tr,.pp-legal-table td{display:block;width:100%}
  .pp-legal-table tr{border:1px solid var(--pp-gold-soft);border-radius:12px;margin:0 0 10px;overflow:hidden}
  .pp-legal-table td{border-bottom:1px solid var(--pp-gold-soft);padding:10px 14px}
  .pp-legal-table td:last-child{border-bottom:0}
  .pp-legal-table tr:nth-child(odd) td{background:none}
  .pp-legal-table td::before{content:attr(data-label);display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-muted);margin-bottom:2px}
}
