/*
Theme Name: Project Afterlife Shop
Theme URI: https://projectafterlife.co.uk/
Author: Project Afterlife
Description: Custom WooCommerce theme for Project Afterlife — Paranormal Research & Investigation.
Version: 0.1.0
Text Domain: project-afterlife-shop
*/

:root{
  --pa-bg:#050607;
  --pa-panel:rgba(8,10,12,.88);
  --pa-panel-2:rgba(12,14,16,.82);
  --pa-line:rgba(255,255,255,.12);
  --pa-line-strong:rgba(255,255,255,.24);
  --pa-text:#f4f7f7;
  --pa-muted:#c4cccc;
  --pa-sub:#909a9a;
  --pa-red:#e35d5d;
  --pa-amber:#d7a75e;
  --pa-radius:8px;
  --pa-shadow:0 28px 80px rgba(0,0,0,.62);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--pa-text);
  background:
    linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.72)),
    url('https://projectafterlife.co.uk/maintenance/assets/maintenance-background.webp') center/cover fixed no-repeat;
  font-family:Arial,Helvetica,sans-serif;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9998;
  opacity:.045;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.13) 0 1px,transparent 2px 4px);
}
a{color:inherit}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

.pa-shell{width:min(1240px,calc(100% - 24px));margin:12px auto;position:relative}
.pa-screen{
  position:relative;
  min-height:calc(100vh - 24px);
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:rgba(0,0,0,.60);
  box-shadow:var(--pa-shadow),inset 0 0 80px rgba(255,255,255,.018);
  overflow:hidden;
}
.pa-screen:after{content:"";position:absolute;inset:9px;z-index:0;pointer-events:none;border:1px solid rgba(255,255,255,.045);border-radius:18px}
.pa-content{position:relative;z-index:2}

.pa-masthead{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;gap:18px;align-items:center;padding:4px 4px 10px}
.pa-logo-wrap{position:relative;width:min(175px,18vw);aspect-ratio:1;display:grid;place-items:center}
.pa-logo-wrap img{position:relative;z-index:3;width:86%;height:86%;object-fit:contain;border-radius:50%;animation:paLogoBeat 4.6s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(255,255,255,.12))}
.pa-ring,.pa-trace{position:absolute;inset:-3%;width:106%;height:106%;overflow:visible;pointer-events:none}
.pa-ring circle{fill:none;stroke:rgba(255,255,255,.58);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:18 22 8 30 14 40 6 30 12 38;animation:paRingDash 11s linear infinite,paRingBeat 2.4s ease-in-out infinite}
.pa-trace path{fill:none;stroke:rgba(255,255,255,.80);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:520;stroke-dashoffset:520;animation:paTrace 4.6s linear infinite}
.pa-brand h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(31px,4.8vw,60px);font-weight:600;line-height:.95}
.pa-brand p{margin:8px 0 0;color:#e0e5e5;font-size:clamp(8px,1.1vw,12px);letter-spacing:.19em;text-transform:uppercase}
.pa-est{display:block;margin-top:7px;color:#9ca7a7;font-size:9px;letter-spacing:.2em;text-transform:uppercase}

.pa-nav{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.pa-nav a,.pa-cart-link{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.11);border-radius:7px;background:#070809;text-decoration:none;color:#d8dddd;font-size:10px;letter-spacing:.04em}
.pa-nav a:hover,.pa-nav a:focus-visible,.pa-cart-link:hover,.pa-cart-link:focus-visible{background:#e9eded;color:#050607;border-color:#fff;outline:none}
.pa-cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--pa-red);color:#fff;font-size:9px;font-weight:700}

.pa-status{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:8px 3px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}
.pa-rec{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.pa-rec i{width:9px;height:9px;border-radius:50%;background:var(--pa-red);box-shadow:0 0 10px rgba(227,93,93,.8);animation:paRec 1.15s linear infinite}
.pa-hud{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pa-pill{padding:7px 11px;border:1px solid rgba(255,255,255,.09);border-radius:6px;background:#070809;color:#d4dada;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.pa-clock{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#ccd3d3;white-space:nowrap}

.pa-shop-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.55fr);gap:16px;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:var(--pa-radius);background:linear-gradient(180deg,rgba(10,12,14,.88),rgba(5,7,8,.94));margin-bottom:16px;overflow:hidden;position:relative}
.pa-shop-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 75% 38%,rgba(255,255,255,.06),transparent 29%)}
.pa-shop-hero>*{position:relative;z-index:2}
.pa-kicker{color:#cfd6d6;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.pa-shop-hero h2{margin:10px 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,74px);font-weight:500;line-height:.95;letter-spacing:-.03em}
.pa-shop-hero p{margin:0;color:#d3dada;font-size:14px;line-height:1.7;max-width:720px}
.pa-signal{padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(7,9,10,.9)}
.pa-signal small{display:block;color:#98a2a2;font-size:8px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:10px}
.pa-signal strong{display:block;margin:14px 0 8px;font-family:'Courier New',monospace;font-size:18px;letter-spacing:.08em;text-transform:uppercase}
.pa-signal p{font-size:12px;line-height:1.6;color:#bcc5c5}

.pa-main{padding:4px 2px 14px}
.pa-page-title,.woocommerce-products-header__title.page-title{margin:4px 0 18px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,54px);font-weight:500}
.woocommerce-breadcrumb{color:var(--pa-sub)!important;font-size:10px!important;letter-spacing:.07em;text-transform:uppercase;margin:0 0 16px!important}
.woocommerce-breadcrumb a{color:var(--pa-muted)!important}

/* Product grids */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px!important;margin:0!important;padding:0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{
  float:none!important;width:auto!important;margin:0!important;padding:12px!important;
  border:1px solid var(--pa-line);border-radius:8px;background:linear-gradient(180deg,rgba(12,14,16,.9),rgba(6,8,9,.94));
  transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden
}
.woocommerce ul.products li.product:hover{transform:translateY(-2px);border-color:var(--pa-line-strong);box-shadow:0 12px 30px rgba(0,0,0,.34)}
.woocommerce ul.products li.product a img{margin:0 0 12px!important;border-radius:6px;background:#0a0b0c;aspect-ratio:1/1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--pa-text);font-family:Georgia,'Times New Roman',serif;font-size:18px!important;font-weight:500!important;line-height:1.25;padding:0!important;margin:0 0 9px!important}
.woocommerce ul.products li.product .price{color:#fff!important;font-size:16px!important;font-weight:700!important;margin:0 0 12px!important}
.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{
  border:1px solid rgba(255,255,255,.24)!important;border-radius:6px!important;background:#e8ecec!important;color:#050607!important;
  padding:11px 14px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase!important;box-shadow:none!important
}
.woocommerce ul.products li.product .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:hover{background:#fff!important;color:#000!important;transform:translateY(-1px)}
.woocommerce span.onsale{min-width:0!important;min-height:0!important;line-height:1!important;padding:7px 9px!important;border-radius:5px!important;background:var(--pa-red)!important;color:#fff!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.08em;top:20px!important;left:20px!important;right:auto!important}

/* Single product */
.woocommerce div.product{color:var(--pa-text)}
.woocommerce div.product .product_title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,50px);font-weight:500;line-height:1.05}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#fff!important;font-size:24px!important;font-weight:700}
.woocommerce div.product div.images img{border-radius:8px;background:#0b0d0e}
.woocommerce div.product .summary{padding:18px;border:1px solid var(--pa-line);border-radius:8px;background:var(--pa-panel)}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{padding:6px 6px 6px 0!important;color:var(--pa-text)}
.woocommerce div.product form.cart .variations select,.woocommerce .quantity .qty{background:#090b0c;color:#fff;border:1px solid var(--pa-line-strong);border-radius:5px;padding:10px}
.woocommerce div.product .woocommerce-tabs ul.tabs:before{border-color:var(--pa-line)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#080a0b!important;border-color:var(--pa-line)!important;color:var(--pa-muted)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#e8ecec!important;color:#050607!important}
.woocommerce div.product .woocommerce-tabs .panel{padding:16px;border:1px solid var(--pa-line);background:var(--pa-panel);border-radius:0 8px 8px 8px}

/* Cart / checkout / account */
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout,.woocommerce form.login,.woocommerce form.register,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation{
  color:var(--pa-text)
}
.woocommerce table.shop_table{border-color:var(--pa-line)!important;background:var(--pa-panel);border-radius:8px!important;overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--pa-line)!important;color:var(--pa-text)!important}
.woocommerce table.shop_table a{color:var(--pa-text)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{
  background:#090b0c!important;color:#fff!important;border:1px solid var(--pa-line-strong)!important;border-radius:5px!important;min-height:42px;padding:9px!important
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}
.select2-dropdown{background:#090b0c!important;color:#fff!important;border-color:var(--pa-line-strong)!important}
.woocommerce-checkout #payment{background:var(--pa-panel)!important;border:1px solid var(--pa-line)!important;color:var(--pa-text)!important}
.woocommerce-checkout #payment div.payment_box{background:#111416!important;color:var(--pa-text)!important}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#111416!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:#0a0d0e!important;color:var(--pa-text)!important;border-top-color:var(--pa-amber)!important}
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a{color:#fff!important}
.wc-block-components-sidebar-layout,.wc-block-components-main,.wc-block-components-sidebar,.wc-block-checkout__main,.wc-block-checkout__sidebar{color:var(--pa-text)!important}
.wc-block-components-totals-wrapper,.wc-block-components-order-summary,.wc-block-components-checkout-step{border-color:var(--pa-line)!important}
.wc-block-components-text-input input,.wc-blocks-components-select .wc-blocks-components-select__select{background:#090b0c!important;color:#fff!important;border-color:var(--pa-line-strong)!important}

/* Footer */
.pa-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 4px 4px;border-top:1px solid rgba(255,255,255,.08);color:#879292;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.pa-footer-center{text-align:center}.pa-footer-links{justify-self:end;display:flex;gap:12px;flex-wrap:wrap}.pa-footer a{text-decoration:none}.pa-footer a:hover{text-decoration:underline;color:#fff}

@keyframes paRec{0%,48%{opacity:1}49%,100%{opacity:.30}}
@keyframes paRingDash{to{stroke-dashoffset:-220}}
@keyframes paRingBeat{0%,100%{opacity:.32;stroke-width:1.2}8%{opacity:.92;stroke-width:1.8}24%{opacity:.75;stroke-width:1.6}34%{opacity:.36;stroke-width:1.2}}
@keyframes paTrace{0%{stroke-dashoffset:520;opacity:0}5%{opacity:1}42%{stroke-dashoffset:0;opacity:.95}100%{stroke-dashoffset:-160;opacity:0}}
@keyframes paLogoBeat{0%,100%{transform:scale(1)}8%{transform:scale(1.018)}24%{transform:scale(1.008)}}

@media(max-width:1000px){
  .pa-masthead{grid-template-columns:125px 1fr}.pa-logo-wrap{width:120px}.pa-nav{grid-column:1/-1;justify-content:center}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pa-shop-hero{grid-template-columns:1fr}
}
@media(max-width:650px){
  body{background-attachment:scroll}.pa-shell{width:calc(100% - 12px);margin:6px auto}.pa-screen{padding:10px;border-radius:18px}
  .pa-masthead{grid-template-columns:80px 1fr;gap:10px}.pa-logo-wrap{width:80px}.pa-brand h1{font-size:clamp(26px,8vw,39px)}.pa-brand p{font-size:8px}
  .pa-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.pa-nav a,.pa-cart-link{justify-content:center;text-align:center;padding:8px 6px;font-size:9px}
  .pa-status{grid-template-columns:auto 1fr}.pa-clock{grid-column:1/-1;text-align:center}.pa-shop-hero{padding:16px}.pa-shop-hero h2{font-size:clamp(40px,12vw,58px)}
  .woocommerce ul.products{grid-template-columns:1fr!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px!important}
  .pa-footer{grid-template-columns:1fr;text-align:center}.pa-footer-links{justify-self:center}.pa-footer-center{order:3}.pa-trace{display:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
