/*
Theme Name:   Purpose Driven Diamonds
Theme URI:    https://purposedrivendiamonds.co.uk
Description:  Premium bespoke jewellery child theme for Hello Elementor. Fully self-contained header — suppresses Hello Elementor's default nav output. Decoris Diamonds quality design.
Author:       Purpose Driven Diamonds
Template:     hello-elementor
Version:      4.0.0
Requires PHP: 7.4
Text Domain:  pdd
*/

/* ═══════════════════════════════════════
   SUPPRESS HELLO ELEMENTOR DEFAULTS
   These selectors target Hello Elementor's
   own header/nav so they don't show.
═══════════════════════════════════════ */
.elementor-template-full-width .elementor-section-wrap > .elementor-section:first-child { display: none !important; }
/* Hello Elementor injects a <header> with class site-header that contains its own nav */
.hello-elementor body > #page > header.site-header .site-navigation,
.hello-elementor body > #page > header.site-header nav,
.hello-elementor .site-header .main-navigation { display: none !important; }
/* Kill any rogue ul.menu that renders outside our #pdd-header */
body > #page > header ul.menu,
body > #page > header .main-nav-list-fallback { display: none !important; }

/* ═══════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════ */
:root {
  --iv:    #FAF8F4;
  --ch:    #F2EBE0;
  --fo:    #1A2B1C;
  --go:    #B8965A;
  --pg:    #D4AE78;
  --lg:    #EDD9B2;
  --cc:    #1E1E1E;
  --mi:    #575757;
  --li:    #E5DDD4;
  --wh:    #FFFFFF;
  --bl:    #0D0D0D;
  --gd:    #1E3620;
  --fs:    'Cormorant Garamond', Georgia, serif;
  --fb:    'Jost', -apple-system, sans-serif;
  --ez:    cubic-bezier(0.4,0,0.2,1);
  --mw:    1300px;
}

/* ═══════════════════════════════════════
   RESET
═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--fb);font-weight:300;color:var(--cc);background:var(--wh);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select,textarea{font-family:inherit}

/* ═══════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════ */
h1,h2,h3,h4{font-family:var(--fs);font-weight:300;line-height:1.1;color:var(--fo)}
h1{font-size:clamp(34px,5.5vw,82px)}
h2{font-size:clamp(24px,3.5vw,50px)}
h3{font-size:clamp(18px,2vw,28px)}
h4{font-family:var(--fb);font-size:clamp(10px,0.9vw,11.5px);letter-spacing:1.5px;text-transform:uppercase;font-weight:400;color:var(--fo)}
p{font-size:clamp(13px,1.1vw,15px);line-height:1.85;color:var(--mi)}
em{font-style:italic;color:var(--go)}
.w{max-width:var(--mw);margin:0 auto;padding:0 clamp(16px,4vw,60px)}
.s{padding:clamp(52px,8vw,96px) clamp(16px,4vw,60px)}
.lbl{font-family:var(--fb);font-size:clamp(9px,0.8vw,10.5px);font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:var(--go);display:block;margin-bottom:12px}
.dvd{width:40px;height:1px;background:var(--go);margin:16px 0 24px}
.tc{text-align:center}.tc .dvd{margin-left:auto;margin-right:auto}

/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.b{display:inline-block;font-family:var(--fb);font-size:clamp(9px,0.78vw,10.5px);font-weight:400;letter-spacing:2.5px;text-transform:uppercase;padding:clamp(12px,1.2vw,15px) clamp(22px,2.5vw,38px);transition:all .28s var(--ez);border:1px solid transparent;white-space:nowrap;cursor:pointer;text-align:center}
.bg{background:var(--go);color:var(--wh)!important;border-color:var(--go)}
.bg:hover{background:var(--fo);border-color:var(--fo);color:var(--lg)!important}
.bd{background:var(--fo);color:var(--lg)!important;border-color:var(--fo)}
.bd:hover{background:var(--go);border-color:var(--go);color:var(--wh)!important}
.bo{background:transparent;color:var(--cc)!important;border-color:var(--cc)}
.bo:hover{background:var(--cc);color:var(--ch)!important}
.bl2{background:transparent;color:var(--ch)!important;border-color:rgba(242,235,224,.42)}
.bl2:hover{border-color:var(--pg);color:var(--pg)!important}

/* ═══════════════════════════════════════
   ANNOUNCEMENT BAR
═══════════════════════════════════════ */
#pdd-ann{
  background:var(--fo);color:var(--pg);text-align:center;
  padding:10px clamp(36px,5vw,72px) 10px clamp(14px,3vw,36px);
  font-family:var(--fb);font-size:clamp(9.5px,.82vw,11px);font-weight:400;
  letter-spacing:1.8px;text-transform:uppercase;position:relative;line-height:1.5;
}

/* ═══════════════════════════════════════
   HEADER  ← completely self-contained
   Uses id #pdd-header to avoid any
   conflict with Hello Elementor's .site-header
═══════════════════════════════════════ */
#pdd-header{
  position:sticky;top:0;z-index:9999;
  background:rgba(250,248,244,.97);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--li);
  transition:box-shadow .3s var(--ez),transform .3s var(--ez);
}
#pdd-header.scrolled{box-shadow:0 2px 22px rgba(26,43,28,.08)}

/* Single flex row */
#pdd-hrow{
  display:flex;align-items:center;
  height:72px;
  max-width:var(--mw);margin:0 auto;
  padding:0 clamp(16px,3.5vw,52px);
}

/* Logo */
#pdd-logo{flex-shrink:0;margin-right:auto}
#pdd-logo a{display:flex;flex-direction:column;line-height:1;text-decoration:none}
#pdd-logo .ln{font-family:var(--fs);font-size:clamp(14px,1.4vw,19px);font-weight:500;letter-spacing:2.8px;text-transform:uppercase;color:var(--fo)}
#pdd-logo .ls{font-family:var(--fb);font-size:clamp(7px,.6vw,8.5px);font-weight:300;letter-spacing:4.5px;text-transform:uppercase;color:var(--go);margin-top:3px}

/* Desktop nav */
#pdd-nav{flex:1;display:flex;justify-content:center;align-items:center}
#pdd-nav>ul{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);list-style:none;padding:0;margin:0}
#pdd-nav>ul>li{position:relative}
#pdd-nav>ul>li>a{
  font-family:var(--fb);font-size:clamp(8.5px,.8vw,10.5px);font-weight:400;
  letter-spacing:2px;text-transform:uppercase;color:var(--cc);
  padding-bottom:4px;position:relative;transition:color .22s;display:block;white-space:nowrap;
}
#pdd-nav>ul>li>a::after{
  content:'';position:absolute;bottom:0;left:0;right:100%;
  height:1px;background:var(--go);transition:right .3s var(--ez);
}
#pdd-nav>ul>li>a:hover,
#pdd-nav>ul>li.current-menu-item>a{color:var(--go)}
#pdd-nav>ul>li>a:hover::after,
#pdd-nav>ul>li.current-menu-item>a::after{right:0}

/* Dropdown */
#pdd-nav .sub-menu{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translateX(-50%) translateY(6px);
  background:var(--wh);border:1px solid var(--li);border-top:2px solid var(--go);
  min-width:190px;list-style:none;padding:10px 0;
  opacity:0;visibility:hidden;
  transition:all .25s var(--ez);
  box-shadow:0 14px 44px rgba(26,43,28,.1);z-index:100;
}
#pdd-nav ul li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
#pdd-nav .sub-menu li a{
  display:block;padding:10px 20px;font-family:var(--fb);
  font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:var(--cc);transition:all .18s;white-space:nowrap;
}
#pdd-nav .sub-menu li a::after{display:none}
#pdd-nav .sub-menu li a:hover{color:var(--go);padding-left:25px;background:var(--ch)}

/* Header right actions */
#pdd-acts{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:clamp(10px,1.2vw,18px)}
.hi{background:none;border:none;color:var(--cc);display:flex;align-items:center;justify-content:center;padding:4px;transition:color .22s;position:relative;cursor:pointer;text-decoration:none}
.hi:hover{color:var(--go)}
.hcc{position:absolute;top:-5px;right:-7px;background:var(--go);color:var(--wh);font-family:var(--fb);font-size:9px;font-weight:500;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.hcb{font-family:var(--fb);font-size:clamp(8px,.78vw,10px);font-weight:400;letter-spacing:1.8px;text-transform:uppercase;padding:9px clamp(12px,1.4vw,20px);border:1px solid var(--fo);color:var(--fo);background:transparent;transition:all .25s var(--ez);white-space:nowrap;cursor:pointer;text-decoration:none;display:inline-block}
.hcb:hover{background:var(--fo);color:var(--lg)}

/* Burger — hidden on desktop */
#pdd-burg{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:5px;color:var(--cc)}
#pdd-burg span{display:block;width:22px;height:1.5px;background:currentColor;transition:all .28s var(--ez);transform-origin:center}

/* ═══════════════════════════════════════
   MOBILE DRAWER
═══════════════════════════════════════ */
#pdd-mob{
  position:fixed;inset:0;background:var(--fo);z-index:99999;
  transform:translateX(100%);transition:transform .38s var(--ez);
  display:flex;flex-direction:column;overflow-y:auto;
}
#pdd-mob.open{transform:translateX(0)}
.mnt{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid rgba(212,174,120,.14)}
.mnl{font-family:var(--fs);font-size:17px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--ch);text-decoration:none}
.mnl span{display:block;font-family:var(--fb);font-size:8px;letter-spacing:4px;color:var(--pg);margin-top:2px}
.mnx{background:none;border:none;color:var(--ch);font-size:24px;line-height:1;padding:4px 8px;cursor:pointer}
#pdd-mob ul{flex:1;padding:8px 0;list-style:none;margin:0}
#pdd-mob ul li{border-bottom:1px solid rgba(212,174,120,.1)}
#pdd-mob ul li a{display:block;padding:16px 28px;font-family:var(--fs);font-size:26px;font-weight:300;color:var(--ch);transition:color .2s,padding-left .2s;text-decoration:none}
#pdd-mob ul li a:hover{color:var(--pg);padding-left:36px}
.mnf{padding:22px 28px 36px;border-top:1px solid rgba(212,174,120,.14)}
.mnf a{display:block;text-align:center;padding:14px;background:var(--go);color:var(--wh)!important;font-family:var(--fb);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;transition:background .25s;text-decoration:none}
.mnf a:hover{background:var(--pg)}

/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */
.ph{position:relative;min-height:clamp(500px,88vh,960px);display:flex;align-items:center;background:var(--bl);overflow:hidden}
.pho{position:absolute;inset:0;background:linear-gradient(115deg,rgba(20,36,22,.88) 0%,rgba(12,12,12,.5) 58%,rgba(184,150,90,.09) 100%);z-index:1}
.php{position:absolute;inset:0;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 4L60 32L32 60L4 32Z' fill='none' stroke='%23F2EBE0' stroke-width='.4'/%3E%3C/svg%3E");background-size:64px 64px}
.phi{position:relative;z-index:2;max-width:var(--mw);margin:0 auto;padding:clamp(44px,7vw,88px) clamp(20px,5vw,72px);width:100%}
.phe{font-family:var(--fb);font-size:clamp(9px,.82vw,10.5px);font-weight:400;letter-spacing:4.5px;text-transform:uppercase;color:var(--pg);display:block;margin-bottom:clamp(14px,2vw,22px)}
.ph h1{font-family:var(--fs);font-size:clamp(42px,7.5vw,100px);font-weight:300;color:var(--ch);line-height:1.04;max-width:800px;margin-bottom:clamp(16px,2.5vw,26px)}
.ph h1 em{color:var(--pg)}
.phd{font-size:clamp(13.5px,1.3vw,16px);line-height:1.8;color:rgba(242,235,224,.7);max-width:510px;margin-bottom:clamp(26px,4vw,44px)}
.phc{display:flex;gap:clamp(10px,1.4vw,14px);flex-wrap:wrap}
.phbg{position:absolute;bottom:clamp(24px,4vw,44px);right:clamp(24px,4vw,60px);z-index:2;width:86px;height:86px;border:1px solid rgba(184,150,90,.42);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--fb);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--pg);line-height:1.7;gap:3px}

/* ═══════════════════════════════════════
   TRUST BAR
═══════════════════════════════════════ */
.tb{background:var(--fo);display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none}
.tb::-webkit-scrollbar{display:none}
.ti{display:flex;align-items:center;gap:11px;padding:clamp(15px,2vw,22px) clamp(18px,2.8vw,36px);border-right:1px solid rgba(242,235,224,.09);flex:1;min-width:150px;transition:background .22s}
.ti:last-child{border-right:none}
.ti:hover{background:rgba(184,150,90,.07)}
.tic{width:30px;height:30px;border:1px solid rgba(184,150,90,.42);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--go)}
.tic svg{width:14px;height:14px}
.til{font-family:var(--fb);font-size:clamp(9px,.82vw,10.5px);font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--pg);display:block;line-height:1.3}
.tis{font-size:clamp(10px,.9vw,11px);color:rgba(242,235,224,.46);display:block}

/* ═══════════════════════════════════════
   SPLIT BLOCK
═══════════════════════════════════════ */
.spb{display:grid;grid-template-columns:1fr 1fr;min-height:540px}
.spi{background:linear-gradient(150deg,var(--fo) 0%,#0C160D 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:400px}
.spi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.dg{width:clamp(140px,16vw,210px);height:clamp(140px,16vw,210px);border:1px solid rgba(184,150,90,.32);transform:rotate(45deg);position:relative;flex-shrink:0;z-index:1}
.dg::before{content:'';position:absolute;inset:clamp(22px,3vw,34px);border:1px solid rgba(184,150,90,.18)}
.dg::after{content:'';position:absolute;inset:clamp(46px,6vw,70px);background:radial-gradient(circle,rgba(184,150,90,.16) 0%,transparent 70%);border:1px solid rgba(184,150,90,.28)}
.spt{padding:clamp(44px,6vw,78px) clamp(28px,5.5vw,70px);display:flex;flex-direction:column;justify-content:center;background:var(--iv)}
.sl{margin-top:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:clamp(17px,2.4vw,24px)}
.si{display:flex;gap:clamp(14px,2vw,22px);align-items:flex-start}
.sn{font-family:var(--fs);font-size:clamp(26px,3.5vw,42px);font-weight:300;color:var(--lg);line-height:1;flex-shrink:0;width:clamp(28px,3.5vw,42px)}
.si h4{margin-bottom:4px}
.si p{font-size:clamp(12px,1.05vw,13.5px);color:var(--mi);line-height:1.7}

/* ═══════════════════════════════════════
   SHOP
═══════════════════════════════════════ */
.shh{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(26px,4vw,46px);flex-wrap:wrap;gap:14px}
.val{font-family:var(--fb);font-size:clamp(9px,.8vw,10px);letter-spacing:2px;text-transform:uppercase;color:var(--go);border-bottom:1px solid rgba(184,150,90,.38);padding-bottom:2px;transition:color .2s,border-color .2s}
.val:hover{color:var(--fo);border-color:var(--fo)}
/* WooCommerce */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:clamp(12px,1.8vw,22px)!important;margin:0!important;padding:0!important;float:none!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--wh)!important;margin:0!important;float:none!important;width:auto!important;transition:transform .32s var(--ez),box-shadow .32s var(--ez);position:relative;overflow:hidden;border:1px solid transparent}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(26,43,28,.12);border-color:var(--li)}
.woocommerce ul.products li.product a img{width:100%!important;aspect-ratio:1!important;object-fit:cover!important;transition:transform .5s var(--ez)!important}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04)!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--fs)!important;font-size:clamp(15px,1.4vw,19px)!important;font-weight:400!important;color:var(--fo)!important;padding:clamp(10px,1.4vw,15px) clamp(12px,1.4vw,16px) 4px!important;line-height:1.2!important}
.woocommerce ul.products li.product .price{padding:0 clamp(12px,1.4vw,16px) clamp(8px,1.2vw,12px)!important;font-family:var(--fb)!important;font-size:clamp(12px,1.1vw,14px)!important;color:var(--cc)!important;font-weight:400!important}
.woocommerce ul.products li.product .button{display:block!important;margin:0 clamp(12px,1.4vw,16px) clamp(10px,1.3vw,16px)!important;padding:9px 12px!important;background:transparent!important;border:1px solid var(--fo)!important;color:var(--fo)!important;font-family:var(--fb)!important;font-size:clamp(8px,.78vw,10px)!important;letter-spacing:2px!important;text-transform:uppercase!important;text-align:center!important;border-radius:0!important;transition:all .25s var(--ez)!important}
.woocommerce ul.products li.product .button:hover{background:var(--fo)!important;color:var(--lg)!important}
.woocommerce span.onsale{background:var(--fo)!important;color:var(--pg)!important;border-radius:0!important;font-family:var(--fb)!important;font-size:8.5px!important;letter-spacing:1.5px!important;text-transform:uppercase!important;padding:5px 10px!important;min-height:auto!important;line-height:1!important;top:11px!important;left:11px!important}
/* Single product */
.woocommerce div.product .product_title{font-family:var(--fs);font-size:clamp(22px,3.5vw,44px);font-weight:300;color:var(--fo);line-height:1.1}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:clamp(17px,2vw,24px);color:var(--cc);font-weight:400}
.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt,.single_add_to_cart_button{background:var(--go)!important;color:var(--wh)!important;border-radius:0!important;font-family:var(--fb)!important;font-size:clamp(9px,.85vw,11px)!important;letter-spacing:2px!important;text-transform:uppercase!important;padding:14px 34px!important;border:1px solid var(--go)!important;transition:all .25s var(--ez)!important;height:auto!important}
.woocommerce #respond input#submit:hover,.woocommerce button.button.alt:hover,.single_add_to_cart_button:hover{background:var(--fo)!important;border-color:var(--fo)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--li)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:none;background:transparent;border-radius:0;padding:0;margin-right:26px}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--fb);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--mi);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-block;padding-bottom:13px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--go);border-bottom-color:var(--go)}

/* ═══════════════════════════════════════
   VALUES (dark)
═══════════════════════════════════════ */
.vs{background:var(--fo);position:relative;overflow:hidden}
.vs::before{content:'';position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg width='68' height='68' viewBox='0 0 68 68' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M34 5L63 34L34 63L5 34Z' fill='none' stroke='%23D4AE78' stroke-width='.3'/%3E%3C/svg%3E");background-size:68px 68px}
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:clamp(36px,5vw,52px)}
.vc{padding:clamp(30px,4vw,48px) clamp(22px,3.5vw,40px);border:1px solid rgba(184,150,90,.1);transition:background .28s}
.vc:hover{background:rgba(184,150,90,.06)}
.vi{margin-bottom:clamp(16px,2.5vw,26px);color:var(--go)}
.vi svg{width:clamp(32px,4vw,42px);height:clamp(32px,4vw,42px)}
.vc h3{font-family:var(--fs);font-size:clamp(18px,1.9vw,24px);font-weight:400;color:var(--pg);margin-bottom:11px}
.vc p{font-size:clamp(12px,1.05vw,13.5px);line-height:1.85;color:rgba(242,235,224,.6)}

/* ═══════════════════════════════════════
   DIAMOND PANELS
═══════════════════════════════════════ */
.dp{display:grid;grid-template-columns:1fr 1fr}
.dpp{padding:clamp(48px,7vw,86px) clamp(26px,5.5vw,66px);display:flex;flex-direction:column;justify-content:center}
.dpn{background:var(--cc)}
.dpl{background:#192E1B}
.pt{display:inline-block;font-family:var(--fb);font-size:clamp(8.5px,.75vw,10px);letter-spacing:3px;text-transform:uppercase;padding:6px 13px;border:1px solid var(--go);color:var(--go);width:fit-content;margin-bottom:clamp(16px,2.5vw,24px)}
.dpp h2{font-family:var(--fs);font-size:clamp(22px,3vw,40px);font-weight:300;color:var(--ch);line-height:1.12;margin-bottom:14px}
.dpp>p{font-size:clamp(12px,1.1vw,14px);line-height:1.85;color:rgba(242,235,224,.66);margin-bottom:20px;max-width:430px}
.rjc{display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid rgba(184,150,90,.26);width:fit-content;margin-top:8px}
.rjc svg{width:20px;height:20px;color:var(--go);flex-shrink:0}
.rjc span{font-size:clamp(10px,.9vw,11.5px);letter-spacing:.8px;color:var(--pg);font-family:var(--fb);line-height:1.5}

/* ═══════════════════════════════════════
   PROCESS
═══════════════════════════════════════ */
.pr{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(38px,5vw,58px);position:relative}
.pr::before{content:'';position:absolute;top:24px;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--go),transparent)}
.ps{text-align:center;padding:0 clamp(8px,1.5vw,16px);position:relative;z-index:1}
.pc{width:clamp(42px,5vw,52px);height:clamp(42px,5vw,52px);border:1px solid var(--go);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto clamp(12px,2vw,20px);background:var(--iv);font-family:var(--fs);font-size:clamp(15px,1.7vw,21px);color:var(--go)}
.ps h4{font-size:clamp(8.5px,.82vw,10.5px)}
.ps p{font-size:clamp(11px,.95vw,12.5px);color:var(--mi);line-height:1.6}

/* ═══════════════════════════════════════
   ETHICS BANNER
═══════════════════════════════════════ */
.eb{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,#1A2B1C 0%,#25401D 100%)}
.et{padding:clamp(48px,7vw,82px) clamp(26px,5.5vw,66px)}
.et h2{font-family:var(--fs);font-size:clamp(22px,3vw,44px);font-weight:300;color:var(--ch);margin-bottom:16px;line-height:1.1}
.et>p{font-size:clamp(12.5px,1.1vw,15px);line-height:1.85;color:rgba(242,235,224,.64);margin-bottom:28px}
.el{padding:clamp(48px,7vw,82px) clamp(26px,5.5vw,66px) clamp(48px,7vw,82px) 0;display:flex;flex-direction:column;gap:clamp(11px,1.6vw,18px);justify-content:center}
.eli{display:flex;align-items:center;gap:clamp(12px,1.5vw,18px);padding:clamp(13px,1.7vw,19px) clamp(14px,2vw,22px);border:1px solid rgba(184,150,90,.19);background:rgba(255,255,255,.03);transition:background .25s}
.eli:hover{background:rgba(184,150,90,.06)}
.elic{width:42px;height:42px;border:1px solid var(--go);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--go)}
.elic svg{width:19px;height:19px}
.elih h4{font-size:clamp(9px,.85vw,11px);letter-spacing:1.5px;text-transform:uppercase;color:var(--pg);margin-bottom:3px;font-weight:400;font-family:var(--fb)}
.elih p{font-size:clamp(10px,.92vw,11.5px);color:rgba(242,235,224,.45);line-height:1.5}

/* ═══════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════ */
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px);margin-top:clamp(36px,5vw,52px)}
.tc2{padding:clamp(26px,3.5vw,38px) clamp(20px,3vw,34px);border:1px solid var(--li);background:var(--wh)}
.tq{font-family:var(--fs);font-size:60px;color:var(--lg);line-height:.6;display:block;margin-bottom:14px;opacity:.44}
.ts{color:var(--go);font-size:12px;letter-spacing:2px;margin-bottom:12px}
.tt{font-family:var(--fs);font-size:clamp(14px,1.35vw,17px);font-style:italic;line-height:1.7;color:var(--cc);margin-bottom:18px}
.ta{font-family:var(--fb);font-size:clamp(8.5px,.82vw,10px);letter-spacing:2px;text-transform:uppercase;color:var(--go);font-weight:400}

/* ═══════════════════════════════════════
   BLOG
═══════════════════════════════════════ */
.bg2{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px);margin-top:clamp(34px,4.5vw,50px)}
.bc{background:var(--wh);transition:transform .32s var(--ez),box-shadow .32s var(--ez)}
.bc:hover{transform:translateY(-4px);box-shadow:0 14px 42px rgba(26,43,28,.1)}
.bci{aspect-ratio:16/10;overflow:hidden;background:var(--li)}
.bci img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ez)}
.bc:hover .bci img{transform:scale(1.05)}
.bcd{padding:clamp(17px,2vw,24px)}
.bcat{font-family:var(--fb);font-size:clamp(8px,.78vw,9.5px);letter-spacing:3px;text-transform:uppercase;color:var(--go);display:block;margin-bottom:8px}
.bcd h3{font-family:var(--fs);font-size:clamp(16px,1.6vw,21px);font-weight:400;line-height:1.3;color:var(--fo);margin-bottom:8px;transition:color .22s}
.bc:hover .bcd h3{color:var(--go)}
.bcd h3 a{color:inherit}
.bex{font-size:clamp(11.5px,1.05vw,13px);color:var(--mi);line-height:1.7}
.bmt{font-size:clamp(10px,.9vw,11px);color:var(--mi);margin-top:11px;display:flex;align-items:center;gap:7px}
.bmt::before{content:'';width:20px;height:1px;background:var(--li);flex-shrink:0}

/* ═══════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════ */
.nl{text-align:center;padding:clamp(52px,7vw,86px) clamp(16px,4vw,60px);background:var(--ch)}
.nlf{display:flex;max-width:450px;margin:clamp(22px,3vw,34px) auto 0}
.nlf input{flex:1;padding:clamp(12px,1.4vw,15px) clamp(13px,1.8vw,19px);border:1px solid var(--cc);border-right:none;background:var(--wh);font-family:var(--fb);font-size:clamp(12px,1.1vw,14px);font-weight:300;outline:none;color:var(--cc)}
.nlf input:focus{border-color:var(--go)}
.nlf button{padding:clamp(12px,1.4vw,15px) clamp(16px,2.5vw,26px);background:var(--fo);color:var(--pg);border:1px solid var(--fo);font-family:var(--fb);font-size:clamp(8px,.78vw,10px);letter-spacing:2px;text-transform:uppercase;transition:background .25s;white-space:nowrap;cursor:pointer}
.nlf button:hover{background:var(--go);border-color:var(--go);color:var(--wh)}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.site-footer{background:var(--bl);color:var(--ch);padding:clamp(52px,7vw,80px) clamp(16px,4vw,56px) clamp(26px,3.5vw,38px)}
.fg{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(28px,5vw,54px);margin-bottom:clamp(36px,5vw,54px);max-width:var(--mw);margin-left:auto;margin-right:auto}
.fln{font-family:var(--fs);font-size:clamp(14px,1.4vw,18px);font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--ch)}
.fls{font-family:var(--fb);font-size:8px;font-weight:300;letter-spacing:4.5px;text-transform:uppercase;color:var(--pg);margin-top:3px;display:block}
.fa{font-size:clamp(11.5px,1.05vw,13px);color:rgba(242,235,224,.44);line-height:1.85;margin:15px 0 20px}
.fso{display:flex;gap:8px}
.fs2{width:31px;height:31px;border:1px solid rgba(242,235,224,.16);display:flex;align-items:center;justify-content:center;color:rgba(242,235,224,.38);transition:all .22s}
.fs2:hover{border-color:var(--go);color:var(--go)}
.fc h4{font-family:var(--fb);font-size:clamp(8.5px,.82vw,10px);letter-spacing:3px;text-transform:uppercase;color:var(--pg);margin-bottom:clamp(12px,1.8vw,18px);font-weight:400}
.fc ul{list-style:none;padding:0;margin:0}
.fc ul li{margin-bottom:7px}
.fc ul li a{font-size:clamp(11.5px,1.05vw,13px);color:rgba(242,235,224,.44);transition:color .2s;text-decoration:none}
.fc ul li a:hover{color:var(--pg)}
.fb2{max-width:var(--mw);margin:0 auto;border-top:1px solid rgba(242,235,224,.07);padding-top:clamp(18px,2.5vw,24px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.fb2 p{font-size:clamp(9.5px,.9vw,11px);color:rgba(242,235,224,.22)}
.fb2 a{color:rgba(242,235,224,.22);transition:color .2s}
.fb2 a:hover{color:var(--pg)}
.fce{display:flex;gap:8px;flex-wrap:wrap}
.fce span{font-family:var(--fb);font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 9px;border:1px solid rgba(184,150,90,.27);color:var(--go)}

/* ═══════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════ */
.pgh{background:var(--cc);padding:clamp(52px,8vw,90px) clamp(20px,5vw,66px) clamp(44px,6.5vw,74px);position:relative;overflow:hidden}
.pgh::before{content:'';position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 4L56 30L30 56L4 30Z' fill='none' stroke='%23B8965A' stroke-width='.4'/%3E%3C/svg%3E");background-size:60px 60px}
.pghi{position:relative;z-index:1;max-width:660px}
.pgh h1{font-family:var(--fs);font-size:clamp(30px,5.5vw,64px);font-weight:300;color:var(--ch);line-height:1.09;margin-bottom:14px}
.pgh h1 em{color:var(--pg)}
.pgh p{font-size:clamp(12.5px,1.15vw,15px);line-height:1.82;color:rgba(242,235,224,.62);max-width:500px}

/* Contact / Booking */
.csp{display:grid;grid-template-columns:1fr 1.25fr}
.cin{background:var(--fo);padding:clamp(46px,7vw,82px) clamp(26px,5vw,62px);color:var(--ch)}
.cin h2{font-family:var(--fs);font-size:clamp(24px,3.5vw,40px);font-weight:300;color:var(--ch);margin-bottom:18px}
.cin>p{font-size:clamp(12.5px,1.1vw,14px);color:rgba(242,235,224,.62);line-height:1.85;margin-bottom:26px}
.cd{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid rgba(242,235,224,.09)}
.cdl{font-family:var(--fb);font-size:clamp(8px,.78vw,9.5px);letter-spacing:2px;text-transform:uppercase;color:var(--go);margin-bottom:5px}
.cd p{font-size:clamp(12px,1.1vw,14px);color:var(--ch);line-height:1.6;margin:0}
.cfw{background:var(--wh);padding:clamp(46px,7vw,82px) clamp(26px,5vw,62px)}
.cfw h3{font-family:var(--fs);font-size:clamp(20px,2.8vw,32px);font-weight:300;color:var(--fo);margin-bottom:26px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:clamp(11px,1.4vw,16px);margin-bottom:clamp(11px,1.4vw,16px)}
.ff{margin-bottom:clamp(11px,1.3vw,15px)}
.ff label{display:block;font-family:var(--fb);font-size:clamp(8px,.78vw,9.5px);letter-spacing:2px;text-transform:uppercase;color:var(--cc);margin-bottom:6px;font-weight:400}
.ff input,.ff select,.ff textarea{width:100%;padding:clamp(10px,1.2vw,13px) clamp(11px,1.4vw,15px);border:1px solid var(--li);background:var(--iv);font-family:var(--fb);font-size:clamp(12.5px,1.1vw,14px);font-weight:300;color:var(--cc);outline:none;border-radius:0;transition:border-color .22s;-webkit-appearance:none}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--go)}
.ff textarea{height:105px;resize:vertical}

/* Single post */
.ppw{max-width:760px;margin:0 auto;padding:clamp(42px,6vw,68px) clamp(20px,5vw,48px)}
.ppm{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.ppc a{font-family:var(--fb);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--go)}
.ppd,.pprt{font-family:var(--fb);font-size:11px;color:var(--mi)}
.ppt{font-family:var(--fs);font-size:clamp(24px,4.5vw,52px);font-weight:300;color:var(--fo);line-height:1.1;margin-bottom:28px}
.ppb{font-size:clamp(14px,1.25vw,16px);line-height:1.92;color:var(--cc)}
.ppb h2{font-size:clamp(19px,2.4vw,29px);margin:42px 0 15px}
.ppb h3{font-size:clamp(16px,1.9vw,22px);margin:30px 0 12px}
.ppb p{margin-bottom:17px;font-size:inherit;color:var(--cc)}
.ppb a{color:var(--go);border-bottom:1px solid rgba(184,150,90,.38)}
.ppb ul,.ppb ol{padding-left:22px;margin-bottom:17px}
.ppb li{margin-bottom:7px;line-height:1.75}
.ppb blockquote{border-left:2px solid var(--go);padding:16px 26px;margin:26px 0;background:var(--ch);font-family:var(--fs);font-size:clamp(17px,1.9vw,21px);font-style:italic;color:var(--fo);line-height:1.5}
.ppb hr{border:none;border-top:1px solid var(--li);margin:34px 0}

/* Reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ez),transform .55s var(--ez)}
.rv.in{opacity:1;transform:translateY(0)}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(min-width:1025px)and(max-width:1279px){
  #pdd-hrow{padding:0 32px}
  #pdd-nav>ul{gap:20px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)!important}
  .fg{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
}
@media(min-width:768px)and(max-width:1024px){
  #pdd-nav,#pdd-hrow .hcb{display:none!important}
  #pdd-burg{display:flex}
  #pdd-hrow{padding:0 22px;height:66px}
  .ph{min-height:72vh}
  .phbg{display:none}
  .tb{display:grid;grid-template-columns:1fr 1fr}
  .ti{border-right:none;border-bottom:1px solid rgba(242,235,224,.09)}
  .ti:nth-child(odd){border-right:1px solid rgba(242,235,224,.09)}
  .ti:nth-last-child(-n+2){border-bottom:none}
  .spb{grid-template-columns:1fr}
  .spi{min-height:300px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)!important}
  .vg{grid-template-columns:repeat(2,1fr)}
  .vc:last-child{grid-column:span 2}
  .dp{grid-template-columns:1fr}
  .pr{grid-template-columns:repeat(3,1fr);gap:22px}
  .pr::before{display:none}
  .eb{grid-template-columns:1fr}
  .el{padding:0 clamp(26px,5.5vw,66px) clamp(48px,7vw,82px)}
  .tg{grid-template-columns:1fr;max-width:540px;margin-left:auto;margin-right:auto}
  .bg2{grid-template-columns:repeat(2,1fr)}
  .csp{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr 1fr;gap:34px}
  .fg>div:first-child{grid-column:span 2}
  .nlf{flex-direction:column;max-width:340px}
  .nlf input{border-right:1px solid var(--cc);margin-bottom:8px}
}
@media(min-width:480px)and(max-width:767px){
  #pdd-nav,#pdd-hrow .hcb{display:none!important}
  #pdd-burg{display:flex}
  #pdd-hrow{padding:0 16px;height:60px}
  #pdd-logo .ln{font-size:14px;letter-spacing:2px}
  .ph{min-height:85vh}
  .phbg{display:none}
  .phc{flex-direction:column;align-items:flex-start}
  .phc .b{width:100%;max-width:300px;text-align:center}
  .tb{flex-direction:column}
  .ti{border-right:none;border-bottom:1px solid rgba(242,235,224,.09);min-width:unset}
  .ti:last-child{border-bottom:none}
  .spb{grid-template-columns:1fr}.spi{min-height:250px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)!important}
  .vg{grid-template-columns:1fr;gap:0}
  .dp{grid-template-columns:1fr}
  .pr{grid-template-columns:repeat(2,1fr);gap:22px}.pr::before{display:none}
  .eb{grid-template-columns:1fr}.el{padding:0 clamp(26px,5.5vw,52px) clamp(44px,6vw,58px)}
  .tg,.bg2{grid-template-columns:1fr}
  .csp{grid-template-columns:1fr}.fr{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr}
  .fb2{flex-direction:column;align-items:flex-start}
  .nlf{flex-direction:column;max-width:100%}
  .nlf input{border-right:1px solid var(--cc);margin-bottom:8px}
}
@media(max-width:479px){
  #pdd-nav,#pdd-hrow .hcb{display:none!important}
  #pdd-burg{display:flex}
  #pdd-hrow{padding:0 13px;height:56px}
  #pdd-logo .ln{font-size:13px;letter-spacing:1.5px}
  #pdd-logo .ls{font-size:7px;letter-spacing:3px}
  .ph{min-height:90vh}
  .phbg{display:none}
  .phc{flex-direction:column;align-items:stretch}
  .phc .b{text-align:center}
  .tb{flex-direction:column}
  .ti{border-right:none;border-bottom:1px solid rgba(242,235,224,.09);min-width:unset}
  .ti:last-child{border-bottom:none}
  .spb{grid-template-columns:1fr}.spi{min-height:220px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important;max-width:370px;margin-left:auto!important;margin-right:auto!important}
  .vg{grid-template-columns:1fr;gap:0}
  .dp{grid-template-columns:1fr}
  .pr{grid-template-columns:1fr;gap:0}.pr::before{display:none}
  .ps{display:flex;align-items:flex-start;gap:15px;text-align:left;padding:16px 0;border-bottom:1px solid var(--li)}.ps:last-child{border-bottom:none}
  .pc{margin:0;flex-shrink:0}
  .eb{grid-template-columns:1fr}.el{padding:0 18px 44px}
  .tg,.bg2{grid-template-columns:1fr}
  .csp{grid-template-columns:1fr}.fr{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr}
  .fb2{flex-direction:column;align-items:flex-start;gap:10px}
  .nlf{flex-direction:column;max-width:100%}
  .nlf input{border-right:1px solid var(--cc);margin-bottom:8px}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(hover:none){.bc:hover,.woocommerce ul.products li.product:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}.rv{opacity:1!important;transform:none!important}}
@media print{#pdd-header,#pdd-ann,#pdd-mob,.site-footer,.nl{display:none!important}body{color:#000;background:#fff}}

/* ═══════════════════════════════════════
   UX FIXES v5
   ─ Form layout
   ─ Contact split columns
   ─ Pricing tiers
   ─ Inline SVG icons
═══════════════════════════════════════ */

/* ── Contact / Booking layout ── */
.csp {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  min-height: 600px;
}

.cin {
  background: var(--fo);
  padding: clamp(44px,6.5vw,80px) clamp(28px,5vw,62px);
  color: var(--ch);
}
.cin h2 {
  font-family: var(--fs);
  font-size: clamp(26px,3.5vw,42px);
  font-weight: 300;
  color: var(--ch);
  margin-bottom: 16px;
  line-height: 1.12;
}
.cin > p {
  font-size: clamp(12.5px,1.1vw,14px);
  color: rgba(242,235,224,.62);
  line-height: 1.85;
  margin-bottom: 28px;
}

.cfw {
  background: var(--wh);
  padding: clamp(44px,6.5vw,80px) clamp(28px,5vw,62px);
}
.cfw h3 {
  font-family: var(--fs);
  font-size: clamp(22px,2.8vw,34px);
  font-weight: 300;
  color: var(--fo);
  margin-bottom: 28px;
  line-height: 1.12;
}

/* Form rows: 2 cols on desktop, 1 col on mobile */
.fr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px,1.5vw,18px);
  margin-bottom: clamp(12px,1.5vw,16px);
}

/* Field */
.ff { margin-bottom: clamp(12px,1.3vw,16px); }
.ff label {
  display: block;
  font-family: var(--fb);
  font-size: clamp(8px,.78vw,9.5px);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--cc);
  margin-bottom: 7px;
  font-weight: 400;
}
.ff input,
.ff select,
.ff textarea {
  width: 100%;
  padding: clamp(11px,1.2vw,13px) clamp(12px,1.4vw,15px);
  border: 1px solid var(--li);
  background: var(--iv);
  font-family: var(--fb);
  font-size: clamp(12.5px,1.1vw,14px);
  font-weight: 300;
  color: var(--cc);
  outline: none;
  border-radius: 0;
  transition: border-color .22s;
  -webkit-appearance: none;
  appearance: none;
}
.ff input:focus,
.ff select:focus,
.ff textarea:focus { border-color: var(--go); }
.ff select {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23575757' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}
.ff textarea { height: 110px; resize: vertical; }

/* Contact detail entries */
.cd {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(242,235,224,.09);
}
.cdl {
  font-family: var(--fb);
  font-size: clamp(8px,.78vw,9.5px);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--go);
  margin-bottom: 5px;
  display: block;
}
.cd p {
  font-size: clamp(12.5px,1.1vw,14px);
  color: var(--ch);
  line-height: 1.6;
  margin: 0;
}

/* ── Pricing tiers responsive ── */
@media (max-width: 900px) {
  .csp { grid-template-columns: 1fr; }
  .fr  { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .fr { grid-template-columns: 1fr; }
  /* Bespoke pricing: stack vertically, remove lift on featured */
  [style*="transform:translateY(-8px)"] { transform: none !important; }
}

/* ── Ensure proper heading colour in page heroes ── */
.pgh h1 { color: var(--ch); }
.pgh h1 em { color: var(--pg); }

/* ── Blog card image placeholder fill ── */
.bci > div { width: 100%; height: 100%; min-height: 200px; }

/* ── Footer list items: never show browser bullets ── */
.fc ul, .fc ul li { list-style: none !important; }
.fc ul li::before { display: none !important; }

/* ── WooCommerce: remove any stray list bullets ── */
.woocommerce ul.products { list-style: none !important; }

/* ── Smooth button on full-width ── */
.b[style*="width:100%"] { box-sizing: border-box; }

/* ── Date input styling ── */
input[type="date"].ff,
.ff input[type="date"] {
  color: var(--cc);
  font-family: var(--fb);
}

/* ── Checkbox accent ── */
input[type="checkbox"] {
  accent-color: var(--go);
  width: 16px;
  height: 16px;
  cursor: pointer;
  flex-shrink: 0;
}
