/*
  Phone Shop Bristol — Future Edition / draft-only design layer.
  Non-destructive visual enhancement. Preserves WooCommerce, SEO, pricing,
  checkout, plugin content and live stock/booking integrations.
*/
:root{
  --psbf-night:#0c171b;
  --psbf-night-2:#14272b;
  --psbf-orange:#ff813f;
  --psbf-orange-cta:#b9400c;
  --psbf-green:#218954;
  --psbf-mint:#91edbc;
  --psbf-text:#142820;
  --psbf-surface:#fff;
  --psbf-wash:#f5f8f5;
  --psbf-border:#dae7df;
  --psbf-radius:22px;
  --psbf-shadow:0 22px 55px rgba(12,37,30,.085);
}
body{background:#fff;color:var(--psbf-text)}
.psb-container{width:min(1300px,calc(100% - 48px))}
.psb-header{
  border-bottom:1px solid rgba(18,60,41,.1)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 10px 38px rgba(13,40,31,.045)!important
}
.psb-brand-icon{filter:drop-shadow(0 4px 11px rgba(240,100,35,.11))}
.psb-brand-copy strong{letter-spacing:-.045em!important}
.psb-header .psb-search{
  background:#f6f9f7!important;border:1px solid #d6e5db!important;
  border-radius:15px!important;box-shadow:inset 0 1px 0 #fff!important
}
.psb-main-nav{gap:clamp(11px,1.9vw,28px)!important}
.psb-main-nav a{position:relative}
.psb-main-nav a:not(.psb-nav-locations):after{
  content:"";position:absolute;left:0;right:0;bottom:7px;height:2px;
  background:#268b55;transform:scaleX(0);transform-origin:left;
  transition:transform .22s ease
}
.psb-main-nav a:hover:after,.psb-main-nav a:focus-visible:after{transform:scaleX(1)}
.psb-nav-book,.psb-btn-orange{
  border-radius:13px!important;box-shadow:0 10px 24px rgba(185,64,12,.16)!important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease!important
}
.psb-nav-book:hover,.psb-btn-orange:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(185,64,12,.22)!important}
.psb-benefits{
  background:linear-gradient(90deg,#0a2420,#133b30 52%,#0a2420)!important;
  border-bottom:1px solid #1f4538!important
}
.psb-benefits span{color:#e6f9ee!important}
.psb-at-hero{
  isolation:isolate;
  background:radial-gradient(ellipse at 91% 15%,rgba(49,177,111,.22),transparent 40%),
             radial-gradient(ellipse at 7% 84%,rgba(240,101,35,.13),transparent 36%),
             linear-gradient(116deg,#091416 0%,#13272a 57%,#081a19 100%)!important;
  color:#fff
}
.psb-at-hero:before{
  content:"";position:absolute;z-index:-1;right:-90px;top:-100px;
  width:min(740px,75vw);height:740px;border-radius:50%;
  background:radial-gradient(circle,rgba(95,238,163,.18),rgba(95,238,163,.045) 37%,transparent 66%)!important;
  pointer-events:none
}
.psb-at-hero:after{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  opacity:.16;
  background-image:linear-gradient(rgba(185,249,208,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(185,249,208,.17) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 65%)
}
.psb-at-hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(38px,5vw,85px);padding:83px 0 91px;align-items:center}
.psb-at-kicker{
  color:#aaf0c7!important;display:inline-flex;gap:9px;align-items:center;
  font-size:.76rem;line-height:1.45;font-weight:850;letter-spacing:.155em
}
.psb-at-kicker:before{content:none!important}
.psb-future-status-dot{
  width:9px;height:9px;flex:0 0 auto;display:inline-block;border-radius:100%;
  background:#7cf2a9;box-shadow:0 0 0 5px rgba(117,236,166,.1),0 0 22px #72f4af
}
.psb-at-hero h1{
  color:#fff!important;
  font-size:clamp(3.05rem,5.05vw,5.3rem)!important;
  font-weight:850;letter-spacing:-.065em!important;line-height:1.075!important;
  max-width:720px;margin:24px 0 19px
}
.psb-at-hero h1 em{
  font-style:normal;color:#ff9959!important;
  background:linear-gradient(92deg,#ffad70,#ff8047 75%,#ffba8d);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.psb-at-hero .psb-at-lead{color:#d0dfda!important;font-size:1.08rem;max-width:600px;line-height:1.78}
.psb-at-finder{
  margin-top:28px!important;max-width:695px;
  background:#fff!important;box-shadow:0 25px 65px rgba(0,0,0,.26)!important;
  border:1px solid rgba(255,255,255,.74)!important;border-radius:21px!important;
  padding:21px!important;position:relative
}
.psb-at-finder:before{
  content:"";position:absolute;top:0;left:28px;right:28px;height:3px;
  background:linear-gradient(90deg,#ff803c,#f9b575 42%,#4ac588);border-radius:0 0 5px 5px
}
.psb-at-finder h2{color:#172b24!important;font-size:1.04rem;margin:1px 0 15px!important;font-weight:800;letter-spacing:-.025em}
.psb-at-finder .psb-finder-tabs{gap:8px;margin-bottom:15px}
.psb-at-finder .psb-finder-tabs button{
  min-height:48px;border-radius:11px!important;
  color:#375845!important;background:#f6f9f6!important;
  border:1px solid #dbe8de!important;font-size:.89rem!important;
  transition:background-color .18s ease,border-color .18s ease
}
.psb-at-finder .psb-finder-tabs button.is-active{
  background:#236e48!important;color:#fff!important;border-color:#236e48!important;
  box-shadow:0 6px 16px rgba(27,101,64,.17)
}
.psb-at-finder .psb-finder-tabs button.is-active svg{color:inherit!important}
.psb-at-field label{color:#314c3e!important}
.psb-at-field :is(input,select){border:1px solid #cadfce!important;border-radius:11px!important;min-height:49px}
.psb-at-field :is(input,select):focus-visible{outline:3px solid #f8a06b!important;outline-offset:2px}
.psb-at-finder .psb-btn-orange{min-height:49px}
.psb-at-help-line{color:#486453!important}
.psb-at-help-line a{color:#176b3e!important}
.psb-at-quick-links{margin-top:23px;gap:9px}
.psb-at-quick-links a{
  min-height:41px;display:inline-flex;align-items:center;
  padding:9px 13px;color:#e6fff0!important;
  text-decoration:none!important;font-size:.82rem;
  border:1px solid rgba(172,230,193,.27);border-radius:999px;
  background:rgba(255,255,255,.055);
  transition:background .18s,border-color .18s,transform .18s
}
.psb-at-quick-links a:hover{background:rgba(116,220,160,.15);border-color:rgba(172,230,193,.65);transform:translateY(-2px)}
.psb-at-quick-links a+a:before{content:none!important}
.psb-at-hero-photo{
  min-height:500px;align-self:center;position:relative;padding:10px;
  border:1px solid rgba(145,237,188,.23);border-radius:30px;
  background:linear-gradient(138deg,rgba(255,255,255,.13),rgba(25,75,63,.14));
  box-shadow:0 35px 100px rgba(0,0,0,.28)
}
.psb-at-hero-photo:before{
  content:"";position:absolute;inset:-1px;border-radius:30px;
  pointer-events:none;border-top:1px solid rgba(182,255,214,.65);border-right:1px solid rgba(182,255,214,.15)
}
.psb-at-hero-photo img{
  height:490px!important;min-height:0;border:0!important;
  width:100%;border-radius:22px!important;box-shadow:none!important;object-fit:cover
}
.psb-at-photo-note{
  left:26px;right:26px;bottom:25px;
  background:rgba(8,27,27,.9)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(183,240,202,.23)!important;
  box-shadow:0 15px 35px rgba(0,0,0,.25)!important;
  color:#e8fff0!important;border-radius:13px!important
}
.psb-at-photo-note strong{color:#fff!important}
.psb-at-photo-note .psb-icon{color:#96edbc!important}
.psb-at-trust{background:#fff!important;border-color:#e4ede6!important}
.psb-at-trust-grid>div{padding-block:26px}
.psb-at-trust-grid .psb-icon{color:#227d4d!important}
.psb-at-trust-grid strong{font-weight:850}
.psb-future-routes{background:#f5f8f6;padding:28px 0 23px;border-bottom:1px solid #e4ede6}
.psb-future-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.psb-future-route{
  position:relative;display:flex;align-items:center;gap:13px;min-width:0;
  border:1px solid #d9e6dd;background:#fff;color:#163425;
  border-radius:17px;padding:20px 17px;
  box-shadow:0 8px 25px rgba(15,53,35,.04);
  text-decoration:none!important;transition:transform .2s,box-shadow .2s,border-color .2s
}
.psb-future-route:hover{transform:translateY(-3px);border-color:#8dcba1;box-shadow:0 16px 35px rgba(15,53,35,.11)}
.psb-future-route .psb-icon{width:24px;height:24px;flex:0 0 auto;color:#277e4c}
.psb-future-route:nth-child(2) .psb-icon,.psb-future-route:nth-child(4) .psb-icon{color:#dc5c1b}
.psb-future-route strong{display:block;color:#17392a;font-size:.94rem;line-height:1.2;font-weight:850}
.psb-future-route small{display:block;color:#596c60;font-size:.76rem;line-height:1.35;margin-top:4px}
.psb-future-route>span:last-child{margin-left:auto;color:#bc4a14;font-weight:800}
.psb-section{padding:82px 0}
.psb-section-soft{background:#f6f9f7!important}
.psb-at-section-heading h2{font-weight:850;letter-spacing:-.057em;color:#112820!important}
.psb-eyebrow{font-size:.73rem;letter-spacing:.15em;font-weight:900;color:#23794a!important}
.psb-at-service,.psb-at-fault{
  border:1px solid #dce8df!important;border-radius:20px!important;
  background:linear-gradient(154deg,#fff 72%,#f6fbf7)!important;
  box-shadow:0 9px 26px rgba(16,49,34,.045)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.psb-at-service{padding:26px!important;min-height:225px;position:relative;overflow:hidden}
.psb-at-service:before{
  content:"";position:absolute;right:-28px;top:-37px;width:115px;height:115px;
  border-radius:50%;background:radial-gradient(circle,rgba(80,190,120,.09),transparent 72%);
  pointer-events:none
}
.psb-at-service:hover,.psb-at-fault:hover{
  transform:translateY(-5px);box-shadow:0 20px 44px rgba(16,49,34,.11)!important;
  border-color:#91cca4!important
}
.psb-at-service .psb-icon{
  width:29px;height:29px;color:#18774b!important;
  padding:7px;box-sizing:content-box;background:#eaf7ee;border-radius:11px
}
.psb-at-service h3{color:#163526;font-weight:800}
.psb-at-service span{color:#1b7145!important;font-weight:850}
.psb-at-fault{padding:26px!important}
.psb-at-fault .psb-icon{color:#cc581b!important}
.psb-at-fault strong{color:#1d7548!important}
.psb-at-products .psb-product-card,
.psb-product-card,.woocommerce ul.products li.product{
  border:1px solid #dfe8e1!important;border-radius:20px!important;
  box-shadow:0 8px 22px rgba(16,49,34,.045)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
  overflow:hidden!important
}
.psb-product-card:hover,.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);box-shadow:0 20px 42px rgba(16,49,34,.11)!important;
  border-color:#9ecdae!important
}
.psb-product-card .psb-product-image{background:linear-gradient(#fafcfb,#f3f7f4)!important}
.psb-product-card .psb-product-body{padding:19px!important}
.psb-product-card h2{font-weight:850!important;letter-spacing:-.02em}
.psb-product-card .psb-stock{color:#14613c!important}
.psb-product-card .psb-product-actions a{border-radius:11px!important}
.psb-shop-hero{
  background:linear-gradient(120deg,#eaf6ed,#fff9f2)!important;
  border-radius:20px!important;border:1px solid #d9e7df
}
.psb-shop-hero h1{color:#123c29!important;font-weight:850!important}
.psb-page-hero{
  background:linear-gradient(135deg,#eef8f1,#fff8ef)!important;border-bottom:1px solid #e6eee7
}
.psb-page-hero h1{color:#173627!important}
.psb-at-offers article{border:1px solid #d7e9dc;border-radius:22px!important}
.psb-at-stores>.psb-at-store,.psb-at-review-links a{
  border-radius:19px!important;box-shadow:0 15px 35px rgba(12,54,30,.055)!important;
}
.psb-at-bottom-cta{
  position:relative;overflow:hidden;
  background:radial-gradient(circle at 85% -15%,rgba(105,228,147,.22),transparent 40%),
             linear-gradient(120deg,#0b231f,#16412e)!important;
  padding:85px 24px
}
.psb-at-bottom-cta h2{color:#fff!important}
.psb-at-bottom-cta .psb-btn-outline{border-color:#9dcfaf!important;color:#fff!important;background:transparent!important}
.psb-footer{background:#09241b!important;border-top:1px solid #1f4231!important}
.psb-footer h3{color:#fff!important}
.psb-footer a:focus-visible,.psb-main a:focus-visible,.psb-main button:focus-visible,
.psb-header a:focus-visible,.psb-header button:focus-visible{outline:3px solid #ff9b63!important;outline-offset:3px!important}
@media (max-width:1140px){
 .psb-future-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .psb-at-hero-grid{gap:30px}
 .psb-at-hero-photo{min-height:400px}
 .psb-at-hero-photo img{height:390px!important}
}
@media (max-width:900px){
 .psb-at-hero-grid{grid-template-columns:1fr!important;padding:52px 0 44px!important}
 .psb-at-hero-photo{max-width:750px;width:100%;height:350px;min-height:350px;padding:8px}
 .psb-at-hero-photo img{height:332px!important}
 .psb-at-hero h1{max-width:690px}
}
@media (max-width:760px){
 .psb-container{width:calc(100% - 32px)!important}
 .psb-header-main{min-height:65px!important}
 .psb-at-hero-grid{padding:34px 0 42px!important;gap:26px}
 .psb-at-kicker{font-size:.65rem;letter-spacing:.11em}
 .psb-at-hero h1{font-size:clamp(2.45rem,10.25vw,3.8rem)!important;margin:16px 0!important;line-height:1.08!important}
 .psb-at-hero .psb-at-lead{font-size:.97rem;line-height:1.66;margin-bottom:14px}
 .psb-at-finder{padding:16px!important;border-radius:17px!important;margin-top:19px!important}
 .psb-at-finder h2{font-size:1rem!important}
 .psb-at-finder .psb-finder-panel{grid-template-columns:1fr!important}
 .psb-at-hero-photo{height:240px;min-height:240px;max-height:none;margin:0;padding:6px;border-radius:19px}
 .psb-at-hero-photo img{height:226px!important;border-radius:13px!important}
 .psb-at-photo-note{padding:10px 11px;bottom:13px;left:15px;right:15px}
 .psb-at-photo-note strong{font-size:.83rem}
 .psb-at-quick-links{margin-top:15px;gap:6px}
 .psb-at-quick-links a{font-size:.75rem;padding:7px 10px;min-height:36px}
 .psb-future-routes{padding:17px 0}
 .psb-future-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .psb-future-route{padding:15px 12px;gap:8px;align-items:flex-start;min-height:97px}
 .psb-future-route .psb-icon{width:20px;height:20px}
 .psb-future-route strong{font-size:.79rem}
 .psb-future-route small{font-size:.7rem}
 .psb-future-route>span:last-child{display:none}
 .psb-at-service{min-height:192px;padding:18px!important}
 .psb-at-fault{padding:17px!important}
 .psb-at-service:hover,.psb-at-fault:hover,.psb-product-card:hover{transform:none!important}
 .psb-mobile-actions{box-shadow:0 -10px 35px rgba(9,41,26,.11);border-top:1px solid #e1eae3}
 .psb-section{padding:54px 0!important}
 .psb-at-bottom-cta{padding:60px 16px}
}
@media (max-width:390px){
 .psb-future-route-grid{grid-template-columns:1fr 1fr}
 .psb-future-route{padding:13px 9px}
 .psb-at-quick-links a{font-size:.72rem}
 .psb-at-hero h1{font-size:2.3rem!important}
}
/* Dark-mode refinement for people using the existing footer theme toggle. */
html[data-psb-theme="dark"] .psb-future-routes{background:#101f1b;border-color:#234333}
html[data-psb-theme="dark"] .psb-future-route{
 background:#193129!important;border-color:#335744!important;color:#e4f7e8!important;
 box-shadow:0 12px 30px rgba(0,0,0,.1)
}
html[data-psb-theme="dark"] .psb-future-route strong{color:#e6ffed!important}
html[data-psb-theme="dark"] .psb-future-route small{color:#b5d4bd!important}
html[data-psb-theme="dark"] .psb-future-route .psb-icon{color:#98eab6!important}
html[data-psb-theme="dark"] .psb-at-section-heading h2{color:#f1fff6!important}
html[data-psb-theme="dark"] .psb-at-service,html[data-psb-theme="dark"] .psb-at-fault{
 background:linear-gradient(150deg,#152e28,#1b392e)!important;
 border-color:#345844!important;color:#e8ffec!important
}
html[data-psb-theme="dark"] .psb-at-service h3,html[data-psb-theme="dark"] .psb-at-fault h3{color:#edfff0!important}
html[data-psb-theme="dark"] .psb-at-service span,html[data-psb-theme="dark"] .psb-at-fault strong{color:#a3f6c2!important}
html[data-psb-theme="dark"] .psb-at-finder,html[data-psb-theme="dark"] .psb-at-finder h2{color:#172b24!important}
html[data-psb-theme="dark"] .psb-shop-hero{background:linear-gradient(120deg,#15352b,#18352d)!important;border-color:#335b45}
html[data-psb-theme="dark"] .psb-shop-hero h1{color:#effff4!important}
html[data-psb-theme="dark"] .psb-page-hero{background:linear-gradient(125deg,#19342c,#1d3c32)!important;border-color:#335b45}
html[data-psb-theme="dark"] .psb-page-hero h1{color:#f2fff5!important}
@media (prefers-reduced-motion:reduce){
 .psb-main *, .psb-header *{transition-duration:.01ms!important;animation-duration:.01ms!important}
 .psb-at-hero:after{animation:none!important}
}
