/* Psilly Passage — component styles (loaded after style.css) */

/* ============ HEADER ============ */
.pp-topbar{background:var(--pp-secondary);color:#fff;font-size:.82rem;text-align:center;padding:9px 16px;letter-spacing:.02em}
.pp-topbar a{color:var(--pp-cream);text-decoration:underline}
.pp-header{position:sticky;top:0;z-index:120;background:#fff;border-bottom:1px solid var(--pp-line)}
.pp-header__inner{max-width:var(--pp-max);margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:26px}
.pp-logo img,.pp-logo svg{height:60px;width:auto}
.pp-logo{font-weight:700;font-size:1.3rem;color:var(--pp-secondary);flex:0 0 auto}
.pp-nav{margin-left:auto}
.pp-nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center}
.pp-nav li{position:relative}
.pp-nav a{color:var(--pp-secondary);font-weight:700;font-size:.93rem;padding:8px 0;display:inline-block}
.pp-nav a:hover{color:var(--pp-primary)}
.pp-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:236px;box-shadow:var(--pp-shadow);border-radius:var(--pp-radius);padding:10px 0;flex-direction:column;gap:0;border:1px solid var(--pp-line)}
.pp-nav li:hover>.sub-menu{display:flex}
.pp-nav .sub-menu a{display:block;padding:9px 18px;font-weight:400;font-size:.9rem}
.pp-nav .sub-menu a:hover{background:var(--pp-cream);color:var(--pp-primary)}
.pp-header__actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.pp-cart-link{position:relative;color:var(--pp-secondary);font-weight:700;display:flex;align-items:center;gap:7px}
.pp-cart-count{background:var(--pp-accent);color:#fff;border-radius:999px;font-size:.72rem;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-weight:700}
.pp-burger{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--pp-secondary)}
.pp-burger span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;border-radius:2px;transition:.2s}
.pp-mobile{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.45)}
.pp-mobile.is-open{display:block}
.pp-mobile__panel{position:absolute;top:0;right:0;width:min(88vw,360px);height:100%;background:#fff;padding:22px;overflow-y:auto}
.pp-mobile__panel ul{list-style:none;margin:0;padding:0}
.pp-mobile__panel li{border-bottom:1px solid var(--pp-line)}
.pp-mobile__panel a{display:block;padding:13px 4px;color:var(--pp-secondary);font-weight:700}
.pp-mobile__panel .sub-menu{padding-left:14px}
.pp-mobile__close{background:none;border:0;font-size:1.9rem;line-height:1;color:var(--pp-secondary);cursor:pointer;float:right}

/* ============ HERO ============ */
.pp-hero{background:linear-gradient(160deg,var(--pp-cream) 0%,#fff 62%);padding:76px 0 66px}
.pp-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;max-width:var(--pp-max);margin:0 auto;padding:0 20px}
.pp-hero h1{margin-bottom:.35em}
.pp-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.pp-hero__img img{border-radius:var(--pp-radius-lg);box-shadow:var(--pp-shadow)}
.pp-trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;font-size:.86rem;color:var(--pp-grey)}
.pp-trust b{color:var(--pp-secondary);display:block;font-size:1.35rem;line-height:1.2}

/* ============ CARDS / GRIDS ============ */
.pp-grid{display:grid;gap:26px}
.pp-grid--2{grid-template-columns:repeat(2,1fr)}
.pp-grid--3{grid-template-columns:repeat(3,1fr)}
.pp-grid--4{grid-template-columns:repeat(4,1fr)}
.pp-grid--6{grid-template-columns:repeat(6,1fr)}
.pp-card{background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);padding:26px;transition:.2s}
.pp-card:hover{box-shadow:var(--pp-shadow-hover);transform:translateY(-3px)}
.pp-card h3{margin-bottom:.4em}
.pp-card__icon{width:46px;height:46px;border-radius:12px;background:var(--pp-cream);display:flex;align-items:center;justify-content:center;color:var(--pp-primary);font-size:1.4rem;font-weight:700;margin-bottom:14px}
.pp-cat-tile{display:block;border-radius:var(--pp-radius-lg);overflow:hidden;background:var(--pp-cream);border:1px solid var(--pp-line);transition:.2s}
.pp-cat-tile:hover{box-shadow:var(--pp-shadow-hover);transform:translateY(-3px)}
.pp-cat-tile img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pp-cat-tile__ph{width:100%;aspect-ratio:1/1;background:linear-gradient(140deg,var(--pp-primary),var(--pp-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;font-weight:700}
.pp-cat-tile__body{padding:16px;text-align:center}
.pp-cat-tile__body strong{display:block;color:var(--pp-secondary);font-size:1rem}
.pp-cat-tile__body span{font-size:.82rem;color:var(--pp-grey)}

/* ============ WOO PRODUCT CARDS ============ */
.woocommerce ul.products{display:grid!important;gap:26px;margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:.2s;text-align:left;padding:0;position:relative}
.woocommerce ul.products li.product:hover{box-shadow:var(--pp-shadow-hover);transform:translateY(-3px)}
.woocommerce ul.products li.product a img{margin:0;border-radius:0;aspect-ratio:1/1;object-fit:cover;width:100%}
.woocommerce ul.products li.product .pp-card-body{padding:16px 17px 19px;display:flex;flex-direction:column;flex:1}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important;font-weight:700;color:var(--pp-secondary);margin:0 0 8px!important;padding:0!important;line-height:1.35}
.woocommerce ul.products li.product .price{color:var(--pp-accent)!important;font-weight:700;font-size:1.06rem;margin:0 0 12px;display:block}
.woocommerce ul.products li.product .price del{color:var(--pp-grey)!important;font-weight:400;font-size:.9rem;margin-right:6px;opacity:.8}
.woocommerce ul.products li.product .price ins{text-decoration:none;background:none}
.woocommerce ul.products li.product .button{margin-top:auto;width:100%;padding:11px 16px;font-size:.9rem}
.woocommerce span.onsale{background:var(--pp-accent);color:#fff;border-radius:999px;padding:5px 13px;font-weight:700;font-size:.76rem;top:12px;left:12px;right:auto;margin:0;min-height:0;min-width:0;line-height:1.4;position:absolute;z-index:5}
.pp-cat-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pp-primary);font-weight:700;margin-bottom:6px}

/* ============ SHOP / ARCHIVE ============ */
.pp-page-head{background:var(--pp-cream);padding:48px 0 42px;border-bottom:1px solid var(--pp-line)}
.pp-page-head h1{margin:0 0 .25em}
.pp-page-head p{margin:0;max-width:760px;color:var(--pp-text)}
.pp-breadcrumb{font-size:.84rem;color:var(--pp-grey);margin-bottom:12px}
.pp-breadcrumb a{color:var(--pp-primary)}
.pp-shop{display:grid;grid-template-columns:250px 1fr;gap:38px;padding:40px 0 70px}
.pp-sidebar{font-size:.93rem}
.pp-sidebar h4{font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pp-secondary);border-bottom:2px solid var(--pp-primary);padding-bottom:8px;margin:0 0 12px}
.pp-sidebar ul{list-style:none;padding:0;margin:0 0 28px}
.pp-sidebar li{margin-bottom:2px}
.pp-sidebar li a{color:var(--pp-text);display:block;padding:5px 0}
.pp-sidebar li a:hover,.pp-sidebar li.current-cat>a{color:var(--pp-primary);font-weight:700}
.pp-sidebar .children{padding-left:14px;margin:2px 0 6px;border-left:2px solid var(--pp-line)}
.pp-sidebar .count{color:var(--pp-grey);font-size:.82rem}
.woocommerce .woocommerce-result-count{color:var(--pp-grey);font-size:.9rem;margin:0}
.woocommerce .woocommerce-ordering{margin:0}
.woocommerce .woocommerce-ordering select{padding:9px 12px;border:1px solid var(--pp-line);border-radius:8px;font-family:var(--pp-font);color:var(--pp-text);background:#fff}
.pp-shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.woocommerce nav.woocommerce-pagination ul{border:0;margin-top:36px}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:8px;padding:10px 15px;border:1px solid var(--pp-line);color:var(--pp-secondary);font-weight:700}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--pp-primary);color:#fff;border-color:var(--pp-primary)}
.pp-subcats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:30px}
.pp-subcats a{background:var(--pp-cream);border:1px solid var(--pp-line);border-radius:999px;padding:9px 15px;text-align:center;font-size:.85rem;font-weight:700;color:var(--pp-secondary)}
.pp-subcats a:hover{background:var(--pp-primary);color:#fff;border-color:var(--pp-primary)}

/* ============ SINGLE PRODUCT ============ */
.pp-pdp{padding:40px 0 70px}
.woocommerce div.product{display:block}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%;margin:0}
.pp-pdp__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.woocommerce div.product div.images img{border-radius:var(--pp-radius-lg)}
.woocommerce div.product div.images .flex-control-thumbs{margin-top:12px;display:flex;gap:10px;padding:0}
.woocommerce div.product div.images .flex-control-thumbs li{width:74px;margin:0;float:none}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:8px;border:1px solid var(--pp-line)}
.woocommerce div.product .product_title{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.3em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--pp-accent)!important;font-size:1.75rem;font-weight:700;margin-bottom:.5em}
.woocommerce div.product p.price del{font-size:1.1rem;color:var(--pp-grey)!important}
.woocommerce div.product form.cart{margin:22px 0}
.woocommerce div.product form.cart div.quantity{margin-right:12px;float:left}
.woocommerce .quantity input.qty{width:74px;padding:11px 8px;border:1px solid var(--pp-line);border-radius:8px;text-align:center;font-family:var(--pp-font);font-size:1rem}
.woocommerce div.product form.cart .variations{margin-bottom:16px;width:100%;border:0}
.woocommerce div.product form.cart .variations tr{display:block;margin-bottom:12px}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{padding:0;display:block;width:100%;text-align:left;border:0}
.woocommerce div.product form.cart .variations label{font-weight:700;color:var(--pp-secondary);margin-bottom:6px;display:block}
.woocommerce div.product form.cart .variations select{width:100%;max-width:340px;padding:12px;border:1px solid var(--pp-line);border-radius:8px;font-family:var(--pp-font);font-size:1rem;background:#fff}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:14px}
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:36px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;border-bottom:1px solid var(--pp-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0 22px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--pp-grey);font-weight:700;padding:12px 0;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--pp-secondary);box-shadow:inset 0 -3px 0 var(--pp-primary)}
.pp-trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--pp-line);font-size:.86rem;color:var(--pp-grey)}
.pp-trust-row span{display:flex;align-items:center;gap:7px}
.woocommerce .related.products,.woocommerce .up-sells{clear:both;padding-top:44px}

/* ============ FOOTER ============ */
.pp-footer{background:var(--pp-secondary);color:#cfd8ea;padding:58px 0 0;margin-top:60px}
.pp-footer a{color:#cfd8ea}
.pp-footer a:hover{color:#fff}
.pp-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;max-width:var(--pp-max);margin:0 auto;padding:0 20px 44px}
.pp-footer h4{color:#fff;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.pp-footer ul{list-style:none;padding:0;margin:0}
.pp-footer li{margin-bottom:9px;font-size:.92rem}
.pp-footer p{font-size:.92rem;line-height:1.7}
.pp-footer__logo img{height:74px;margin-bottom:16px}
.pp-footer__bottom{border-top:1px solid rgba(255,255,255,.16);padding:20px;text-align:center;font-size:.84rem;color:#9fb0cf}
.pp-disclaimer{background:var(--pp-navy-deep);color:#9fb0cf;font-size:.78rem;padding:18px 20px;text-align:center;line-height:1.6}
.pp-disclaimer .pp-wrap{max-width:960px}

/* ============ MISC WOO ============ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--pp-primary);border-radius:8px;background:var(--pp-cream)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--pp-primary)}
.woocommerce table.shop_table{border-radius:var(--pp-radius);border-color:var(--pp-line)}
.woocommerce-cart table.cart img{width:74px;border-radius:8px}
.woocommerce-cart .cart-collaterals .cart_totals{border-radius:var(--pp-radius-lg)}
.pp-entry{padding:44px 0 70px}
.pp-entry img{border-radius:var(--pp-radius)}
.pp-entry h2{margin-top:1.4em}
.pp-post-card{background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.pp-post-card:hover{box-shadow:var(--pp-shadow-hover);transform:translateY(-3px)}
.pp-post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.pp-post-card__body{padding:18px;display:flex;flex-direction:column;flex:1}
.pp-post-card__body h3{font-size:1.05rem;margin-bottom:.5em}
.pp-post-card__body .pp-meta{font-size:.8rem;color:var(--pp-grey);margin-top:auto;padding-top:10px}
.pp-faq{border:1px solid var(--pp-line);border-radius:var(--pp-radius);margin-bottom:12px;overflow:hidden}
.pp-faq summary{padding:16px 20px;font-weight:700;color:var(--pp-secondary);cursor:pointer;background:#fff;list-style:none}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq summary::after{content:'+';float:right;color:var(--pp-primary);font-size:1.3rem;line-height:1}
.pp-faq[open] summary::after{content:'\2013'}
.pp-faq__body{padding:0 20px 18px;background:#fff}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .pp-grid--4,.pp-grid--6{grid-template-columns:repeat(3,1fr)}
  .woocommerce ul.products.columns-4{grid-template-columns:repeat(3,1fr)}
  .pp-shop{grid-template-columns:1fr;gap:22px}
  .pp-sidebar{display:none}
  .pp-footer__grid{grid-template-columns:1fr 1fr}
  .pp-subcats{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:860px){
  /* Nav collapses into the burger; the actions cluster takes over the right
     edge so the cart is never bunched against the logo. */
  .pp-nav{display:none}
  .pp-header__inner{gap:12px}
  .pp-header__actions{margin-left:auto;gap:10px}
  .pp-burger{display:block;margin-left:0}
  .pp-logo img,.pp-logo svg{height:46px}
  .pp-hero__grid{grid-template-columns:1fr;gap:32px}
  .pp-pdp__grid{grid-template-columns:1fr;gap:28px}
  .pp-grid--3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  body{font-size:16px}
  .pp-section{padding:44px 0}
  .pp-grid--2,.pp-grid--3,.pp-grid--4,.pp-grid--6{grid-template-columns:repeat(2,1fr)}
  .woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,1fr);gap:14px}
  .woocommerce ul.products li.product .pp-card-body{padding:12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.9rem!important}
  .pp-footer__grid{grid-template-columns:1fr;gap:26px}
  .pp-subcats{grid-template-columns:repeat(2,1fr)}
  .pp-hero{padding:44px 0 40px}
}
