/*
Theme Name: PHSCOO AT
Theme URI: https://www.phscoo.at/
Author: PHSCOO Austria Partner
Description: PHSCOO block theme for an Austrian WooCommerce storefront and local service partner.
Version: 2.19.18
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: phscoo-at
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face { font-family: "PHS ABeeZee"; src: url("assets/fonts/ABeeZee.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "PHS Inter"; src: url("assets/fonts/Inter.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "PHS Cabin"; src: url("assets/fonts/Cabin.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }

:root {
  --phs-black: #050505;
  --phs-ink: #151515;
  --phs-muted: #60646c;
  --phs-line: #dedfe2;
  --phs-paper: #ffffff;
  --phs-surface: #f4f5f6;
  --phs-red: #d9121b;
  --phs-red-dark: #c90d16;
  --phs-blue: #075ff7;
  --phs-green: #24b35a;
  --phs-yellow: #ffd84c;
  --phs-focus: #1677ff;
  --phs-radius: 8px;
  --phs-content: 1080px;
}


*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--phs-paper);
  color: var(--phs-ink);
  font-family: "PHS Inter", Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  margin: 0;
}
body.admin-bar .phscoo-header { top: 32px; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, .phscoo-nav, .phscoo-pill, button { font-family: "PHS ABeeZee", Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--phs-focus);
  outline-offset: 3px;
}
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; overflow: clip; }
.wp-site-blocks > *, .entry-content > *, .phscoo-home > * { margin-block-start: 0; }
.entry-content { flex: 1; }
main { flex: 1; }

.phscoo-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  background: var(--phs-black);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.phscoo-header__bar {
  width: min(100%, 1680px);
  min-height: 64px;
  margin: 0 auto;
  padding: 0 26px;
  display: flex;
  align-items: center;
  gap: 30px;
}
.phscoo-brand { display: inline-flex; align-items: center; flex: 0 0 auto; text-decoration: none; }
.phscoo-brand img { width: 122px; height: 44px; object-fit: contain; }
.phscoo-nav { display: flex; align-items: stretch; gap: 28px; min-height: 64px; }
.phscoo-nav > a, .phscoo-nav > details > summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}
.phscoo-nav > a:hover, .phscoo-nav > details > summary:hover, .phscoo-nav > details[open] > summary { color: #ff555a; }
.phscoo-nav > details { position: relative; }
.phscoo-nav summary::-webkit-details-marker { display: none; }
.phscoo-nav summary::after { content: ""; width: 7px; height: 7px; margin-left: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.phscoo-nav details[open] > summary::after { transform: rotate(225deg) translate(-2px, -1px); }
.phscoo-submenu {
  position: absolute;
  left: -18px;
  top: 58px;
  z-index: 4;
  min-width: 260px;
  padding: 10px;
  background: #fff;
  color: var(--phs-ink);
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
}
.phscoo-submenu a { display: block; padding: 10px 12px; border-radius: 5px; text-decoration: none; font-size: 14px; }
.phscoo-submenu a:hover { background: var(--phs-surface); color: var(--phs-red-dark); }
.phscoo-submenu a.phscoo-submenu__overview {
  margin-bottom: 6px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--phs-line);
  border-radius: 5px 5px 0 0;
  color: var(--phs-red-dark);
  font-weight: 800;
}
.phscoo-submenu__overview::after { content: "→"; float: right; margin-left: 18px; }
.phscoo-header__actions { margin-left: auto; display: flex; align-items: center; gap: 9px; }
.phscoo-header__cta {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 15px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.phscoo-header__cta:hover { background: #fff; color: #000; }
.phscoo-header__cta--summer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: 6px;
  color: #171100;
  background: #ffd84c;
  border-color: #ffe785;
  box-shadow: 0 0 0 1px rgba(255,222,80,.2), 0 0 22px rgba(255,200,40,.48);
  animation: phscoo-summer-glow 2.8s ease-in-out infinite;
}
.phscoo-header__cta--summer::after { content: ""; position: absolute; inset: -50% auto -50% -35%; z-index: -1; width: 26px; background: rgba(255,255,255,.8); transform: rotate(18deg); animation: phscoo-summer-shine 3.6s ease-in-out infinite; }
.phscoo-header__cta--summer:hover { color: #050505; background: #ffe36c; border-color: #fff0aa; }
@keyframes phscoo-summer-glow { 0%, 100% { box-shadow: 0 0 0 1px rgba(255,222,80,.2), 0 0 18px rgba(255,200,40,.38); } 50% { box-shadow: 0 0 0 2px rgba(255,231,130,.34), 0 0 32px rgba(255,190,20,.72); } }
@keyframes phscoo-summer-shine { 0%, 34% { left: -35%; } 62%, 100% { left: 125%; } }
.phscoo-icon-link {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  text-decoration: none;
  border-radius: 50%;
}
.phscoo-icon-link:hover { background: rgba(255,255,255,.13); }
.phscoo-icon-link .dashicons { width: 18px; height: 18px; font-size: 18px; }
.phscoo-cart-link { position: relative; }
.phscoo-cart-count {
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid var(--phs-black);
  border-radius: 9px;
  color: #fff;
  background: var(--phs-red);
  font: 800 10px/1 "PHS Inter", Arial, sans-serif;
  font-variant-numeric: tabular-nums;
}
.phscoo-icon-link .phscoo-cart-count { position: absolute; top: -3px; right: -4px; }
.phscoo-cart-count[hidden] { display: none; }
.phscoo-mobile-cart-link .phscoo-cart-count { margin-left: auto; border-color: #fff; }
.phscoo-language-switcher { position: relative; }
.phscoo-language-switcher > summary { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 8px; border-radius: 5px; color: #fff; cursor: pointer; font-size: 13px; list-style: none; white-space: nowrap; }
.phscoo-language-switcher > summary::-webkit-details-marker { display: none; }
.phscoo-language-switcher > summary::after { content: ""; width: 6px; height: 6px; margin-left: 2px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.phscoo-language-switcher[open] > summary, .phscoo-language-switcher > summary:hover { background: rgba(255,255,255,.13); }
.phscoo-language-switcher__flag { width: 22px; height: 14px; border: 1px solid rgba(255,255,255,.45); background: linear-gradient(#ed2939 0 33%, #fff 33% 66%, #ed2939 66%); }
.phscoo-language-menu { position: absolute; top: 43px; right: 0; z-index: 20; width: 210px; max-height: min(520px, 72vh); display: grid; padding: 8px; overflow-y: auto; border: 1px solid var(--phs-line); border-radius: var(--phs-radius); background: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.phscoo-language-menu a { padding: 9px 11px; border-radius: 4px; color: var(--phs-ink); font-size: 14px; text-decoration: none; }
.phscoo-language-menu a:hover, .phscoo-language-menu a[aria-current="page"] { color: var(--phs-red-dark); background: var(--phs-surface); font-weight: 750; }
.phscoo-mobile-nav { display: none; margin-left: auto; position: relative; }
.phscoo-mobile-nav > summary { position: relative; z-index: 3; width: 42px; height: 42px; display: grid; place-items: center; list-style: none; border-radius: 50%; cursor: pointer; }
.phscoo-mobile-nav > summary::-webkit-details-marker { display: none; }
.phscoo-mobile-nav > summary:hover, .phscoo-mobile-nav[open] > summary { background: rgba(255,255,255,.13); }
.phscoo-mobile-nav[open] { z-index: 130; }
.phscoo-mobile-nav[open]::before { content: ""; position: fixed; inset: 58px 0 0; z-index: 1; background: rgba(0,0,0,.58); backdrop-filter: blur(4px); }
.phscoo-menu-icon { grid-area: 1 / 1; width: 20px; height: 20px; font-size: 20px; }
.phscoo-menu-icon--close { visibility: hidden; transform: rotate(-45deg); opacity: 0; transition: opacity .18s ease, transform .18s ease; }
.phscoo-menu-icon--open { transition: opacity .18s ease, transform .18s ease; }
.phscoo-mobile-nav[open] .phscoo-menu-icon--open { visibility: hidden; transform: rotate(45deg); opacity: 0; }
.phscoo-mobile-nav[open] .phscoo-menu-icon--close { visibility: visible; transform: rotate(0); opacity: 1; }
.phscoo-mobile-menu {
  position: absolute;
  top: 50px;
  right: 0;
  z-index: 2;
  width: min(92vw, 390px);
  max-height: calc(100dvh - 76px);
  padding: 12px 18px 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #0b0b0b;
  border: 1px solid #313131;
  border-radius: var(--phs-radius);
  box-shadow: 0 22px 60px rgba(0,0,0,.42);
}
.phscoo-mobile-menu a { color: #fff; }
.phscoo-mobile-menu > a, .phscoo-mobile-menu__group > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 4px;
  color: #fff;
  border-bottom: 1px solid #282828;
  font-size: 15px;
  font-weight: 700;
  list-style: none;
  text-decoration: none;
  cursor: pointer;
}
.phscoo-mobile-menu__group > summary::-webkit-details-marker { display: none; }
.phscoo-mobile-language > summary { gap: 7px; }
.phscoo-mobile-menu__group > summary::after { content: ""; width: 8px; height: 8px; margin-left: auto; margin-right: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.phscoo-mobile-menu__group[open] > summary { color: #ff676b; }
.phscoo-mobile-menu__group[open] > summary::after { transform: rotate(225deg) translate(-2px, -1px); }
.phscoo-mobile-submenu { display: grid; gap: 2px; padding: 8px 0 12px 12px; border-bottom: 1px solid #282828; }
.phscoo-mobile-submenu a { display: block; padding: 10px 8px; color: #d9dadd; border-radius: 5px; font-size: 14px; font-weight: 600; text-decoration: none; }
.phscoo-mobile-submenu a:hover { background: #202020; color: #fff; }
.phscoo-mobile-submenu a.phscoo-submenu__overview { color: #ff777b; font-weight: 800; }
.phscoo-mobile-menu__utilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding-top: 16px; }
.phscoo-mobile-menu__utilities a { min-width: 0; display: grid; justify-items: center; gap: 5px; padding: 10px 4px; color: #fff; border: 1px solid #303033; border-radius: 6px; font-size: 11px; font-weight: 700; text-align: center; text-decoration: none; }
.phscoo-mobile-menu__utilities a:hover { background: #1d1d1f; border-color: #4a4a4e; }
.phscoo-mobile-menu__utilities .dashicons { width: 18px; height: 18px; font-size: 18px; }
.phscoo-mobile-menu > a.phscoo-mobile-menu__promo { min-height: 52px; justify-content: center; gap: 7px; margin: 12px 0 4px; padding: 12px; color: #151000; background: #ffd84c; border: 1px solid #ffe887; border-radius: 6px; box-shadow: 0 0 22px rgba(255,198,30,.3); }
.phscoo-mobile-menu > a.phscoo-mobile-menu__promo:hover { color: #050505; background: #ffe26a; }
html.phscoo-menu-open { overflow: hidden; }

.phscoo-pill, .wp-block-button .wp-block-button__link, .button, button, input[type="submit"] {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 750;
  line-height: 1.15;
  text-decoration: none;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.phscoo-pill:hover, .wp-block-button .wp-block-button__link:hover, .button:hover { transform: translateY(-1px); }
.phscoo-pill--light { background: #fff; color: #111; border-color: #fff; }
.phscoo-pill--red, .wp-block-button.is-style-fill .wp-block-button__link { background: var(--phs-red); color: #fff; border-color: var(--phs-red); }
.phscoo-pill--red:hover { background: var(--phs-red-dark); border-color: var(--phs-red-dark); }
.phscoo-pill--dark { background: #000; color: #fff; border-color: #000; }

.phscoo-hero {
  position: relative;
  min-height: 680px;
  width: 100%;
  display: grid;
  place-items: center;
  padding: 70px 22px 50px;
  color: #fff;
  background: #5d91bb url("assets/images/home-hero-2000.webp") center center / cover no-repeat;
  text-align: center;
  isolation: isolate;
}
.phscoo-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0,0,0,.16); }
.phscoo-hero__content { max-width: 1000px; margin: 70px auto 0; }
.phscoo-kicker { margin: 0 0 22px; font-size: 34px; font-weight: 800; }
.phscoo-hero h1 { max-width: 980px; margin: 0 auto; color: #fff; font-size: 92px; line-height: 1.02; font-weight: 850; letter-spacing: 0; }
.phscoo-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 54px; }
.phscoo-hero__actions .phscoo-pill { min-width: 250px; }

.phscoo-section { width: min(100%, var(--phs-content)); margin: 0 auto; padding: 78px 22px; }
.phscoo-section--compact { padding-top: 48px; padding-bottom: 48px; }
.phscoo-section__eyebrow { margin: 0 0 12px; color: #686c73; font-size: 13px; font-weight: 800; text-transform: uppercase; }
.phscoo-section h2 { max-width: 1000px; margin: 0 auto 52px; font-size: 56px; line-height: 1.08; text-align: center; letter-spacing: 0; }
.phscoo-section__intro { max-width: 760px; margin: -28px auto 48px; color: var(--phs-muted); font-size: 18px; line-height: 1.65; text-align: center; }

.phscoo-concerns { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 58px; align-items: center; }
.phscoo-concerns__image { width: 100%; height: 720px; object-fit: cover; border-radius: var(--phs-radius); }
.phscoo-feature-list { display: grid; gap: 34px; }
.phscoo-feature { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: start; }
.phscoo-feature img { width: 58px; height: 58px; object-fit: contain; border-radius: 50%; }
.phscoo-feature h3 { margin: 3px 0 8px; color: var(--phs-red); font-size: 20px; line-height: 1.2; }
.phscoo-feature p { margin: 0; color: #3f4248; font-size: 15px; line-height: 1.6; }
.phscoo-feature a { font-weight: 700; }

.phscoo-showcase { width: min(100%, var(--phs-content)); margin: 0 auto; padding: 0 22px 72px; display: grid; gap: 24px; }
.phscoo-visual-panel { position: relative; min-height: 440px; display: grid; place-items: center; overflow: hidden; border-radius: var(--phs-radius); color: #fff; background-color: #333; background-position: center; background-size: cover; text-align: center; isolation: isolate; }
.phscoo-visual-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0,0,0,.35); }
.phscoo-visual-panel--safety { background-image: url("assets/images/safety-city.webp"); }
.phscoo-visual-panel--test { background-image: url("assets/images/test-ride.webp"); }
.phscoo-visual-panel--app { background-image: url("assets/images/phscoo-app.webp"); }
.phscoo-visual-panel--brand { background-image: url("assets/images/brand-story.webp"); }
.phscoo-visual-panel__content { width: min(100%, 760px); padding: 38px 24px; }
.phscoo-visual-panel h2, .phscoo-visual-panel h3 { margin: 0 0 10px; color: #fff; font-size: 40px; line-height: 1.12; }
.phscoo-visual-panel h3 { font-size: 30px; }
.phscoo-visual-panel p { margin: 0 0 22px; font-size: 18px; line-height: 1.5; }
.phscoo-showcase__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.phscoo-showcase__duo .phscoo-visual-panel { min-height: 390px; }

.phscoo-products-band { background: var(--phs-surface); }
.phscoo-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.phscoo-product-card { position: relative; min-width: 0; background: #fff; border: 1px solid var(--phs-line); border-radius: var(--phs-radius); overflow: hidden; }
.phscoo-product-card__media { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; }
.phscoo-product-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .24s ease; }
.phscoo-product-card:hover .phscoo-product-card__media img { transform: scale(1.025); }
.phscoo-product-card__body { padding: 22px; }
.phscoo-product-card__meta { margin: 0 0 8px; color: var(--phs-red-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.phscoo-product-card h3 { min-height: 54px; margin: 0 0 10px; font-size: 22px; line-height: 1.25; }
.phscoo-product-card h3 a { text-decoration: none; }
.phscoo-product-card p { color: var(--phs-muted); line-height: 1.55; }
.phscoo-product-card__price { color: var(--phs-ink) !important; font-size: 22px; font-weight: 850; }
.phscoo-product-card__price del { margin-left: 6px; color: #686c73; font-size: 15px; font-weight: 500; }
.phscoo-product-feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.phscoo-product-feed--columns-1 { grid-template-columns: 1fr; }
.phscoo-product-feed--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.phscoo-product-feed--columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.phscoo-product-feed .phscoo-product-card { display: flex; flex-direction: column; border-radius: 14px; box-shadow: 0 16px 38px rgba(18,24,34,.07); transition: transform .2s ease, box-shadow .2s ease; }
.phscoo-product-feed .phscoo-product-card:hover { transform: translateY(-4px); box-shadow: 0 22px 46px rgba(18,24,34,.12); }
.phscoo-product-feed .phscoo-product-card__body { display: flex; flex: 1; flex-direction: column; }
.phscoo-product-feed .phscoo-product-card__description { min-height: 68px; margin: 0 0 20px; font-size: 14px; }
.phscoo-product-card__footer { display: grid; gap: 15px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--phs-line); }
.phscoo-product-feed .phscoo-product-card__price { margin: 0; }
.phscoo-product-feed .phscoo-product-card__price del { margin: 0 7px 0 0; }
.phscoo-product-card__cta { display: inline-flex; align-items: center; gap: 8px; color: var(--phs-ink); font-size: 13px; font-weight: 850; text-decoration: none; }
.phscoo-product-card__cta:hover { color: var(--phs-red-dark); }
.phscoo-product-card__cta span { transition: transform .18s ease; }
.phscoo-product-card__cta:hover span { transform: translateX(3px); }
.phscoo-product-feed__empty { margin: 28px 0 0; padding: 22px; border-left: 4px solid var(--phs-red); border-radius: 7px; background: var(--phs-surface); }

.phscoo-support-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); gap: 28px; align-items: stretch; }
.phscoo-support-image { min-height: 330px; position: relative; overflow: hidden; border-radius: var(--phs-radius); background: #333 url("assets/images/repair-video.webp") center / cover no-repeat; }
.phscoo-support-image a { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 24px; color: #fff; font-weight: 750; text-decoration: none; background: rgba(0,0,0,.18); }
.phscoo-support-copy { display: flex; flex-direction: column; justify-content: center; padding: 24px 16px; }
.phscoo-support-copy .phscoo-section__eyebrow { color: #686c73; }
.phscoo-support-copy h2 { margin: 0 0 16px; font-size: 34px; text-align: left; }
.phscoo-support-copy p { color: var(--phs-muted); line-height: 1.7; }
.phscoo-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
.phscoo-resource { min-height: 300px; position: relative; display: flex; align-items: flex-end; overflow: hidden; border-radius: var(--phs-radius); background-position: center; background-size: cover; text-decoration: none; isolation: isolate; }
.phscoo-resource::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0,0,0,.28); }
.phscoo-resource span { padding: 22px; color: #fff; font-size: 18px; font-weight: 700; }
.phscoo-resource--warranty { background-image: url("assets/images/warranty.webp"); }
.phscoo-resource--blog { background-image: url("assets/images/blog.webp"); }
.phscoo-resource--faq { background-image: url("assets/images/faq.webp"); }

.phscoo-local-band { background: #0c0c0c; color: #fff; }
.phscoo-home > .phscoo-local-band { margin-block-end: clamp(40px, 5vw, 72px); }
.phscoo-local-band .phscoo-section { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; }
.phscoo-local-band h2 { margin: 0 0 20px; color: #fff; font-size: 42px; text-align: left; }
.phscoo-local-band p { color: #cfd1d4; font-size: 17px; line-height: 1.65; }
.phscoo-local-details { display: grid; gap: 18px; padding-left: 34px; border-left: 1px solid #3b3b3b; }
.phscoo-local-details p { margin: 0; }

.phscoo-page > .alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.phscoo-page-hero { position: relative; width: 100vw; max-width: none; min-height: 510px; display: flex; align-items: flex-end; margin-left: calc(50% - 50vw); padding: 0; background: #101010; color: #fff; overflow: hidden; }
.phscoo-page-hero__media, .phscoo-page-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.phscoo-page-hero__media { object-fit: cover; }
.phscoo-page-hero__overlay { background: rgba(0,0,0,.62); }
.phscoo-page-hero__inner { position: relative; z-index: 1; width: min(100%, var(--phs-content)); margin: 0 auto; padding: 82px 22px 66px; }
.phscoo-page-hero__eyebrow { margin: 0 0 15px; color: #ff6268; font-size: 13px; font-weight: 850; text-transform: uppercase; }
.phscoo-page-hero h1 { max-width: 900px; margin: 0 0 18px; color: #fff; font-size: 62px; line-height: 1.04; }
.phscoo-page-hero .lead { max-width: 760px; margin: 0; color: #f0f1f2; font-size: 20px; line-height: 1.55; }
.phscoo-page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.phscoo-page-hero__actions a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 18px; border: 1px solid rgba(255,255,255,.75); border-radius: 5px; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; }
.phscoo-page-hero__primary { border-color: var(--phs-red) !important; background: var(--phs-red); }
.phscoo-page-hero__primary:hover { border-color: var(--phs-red-dark) !important; background: var(--phs-red-dark); }
.phscoo-page-hero__secondary { background: rgba(0,0,0,.32); }
.phscoo-page-hero__secondary:hover { background: rgba(0,0,0,.62); }
.lead { max-width: 760px; margin: 0 auto; color: #d2d4d7; font-size: 20px; line-height: 1.6; }
.phscoo-page .phscoo-section { max-width: 960px; }
.phscoo-page .phscoo-section:has(> .phscoo-prose-grid > article:nth-child(3)),
.phscoo-page .phscoo-section:has(> .phscoo-facts) { max-width: 1180px; }
.phscoo-page .phscoo-section h2 { margin-bottom: 28px; font-size: 36px; text-align: left; }
.phscoo-page .phscoo-section > p, .phscoo-page .phscoo-section > ul, .phscoo-page .phscoo-section > ol { font-size: 17px; line-height: 1.75; }
.phscoo-page .phscoo-section ul { padding-left: 1.25em; }
.phscoo-page .phscoo-section li + li { margin-top: 9px; }
.phscoo-link-list { display: grid; gap: 10px; margin: 24px 0 0; padding: 0 !important; list-style: none; }
.phscoo-link-list a { display: inline-flex; align-items: center; gap: 8px; color: var(--phs-red-dark); font-weight: 800; }
.phscoo-link-list a::after { content: "↗"; font-size: 14px; text-decoration: none; }
.phscoo-related-links { width: min(100%, 1180px); margin: 0 auto; padding: 70px 22px; }
.phscoo-related-links h2 { margin: 0 0 28px; font-size: 36px; }
.phscoo-related-links__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; border-top: 1px solid var(--phs-line); }
@media (min-width: 601px) {
  .phscoo-related-links__grid:has(> a:nth-child(4)):not(:has(> a:nth-child(5))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.phscoo-related-links__grid a { min-width: 0; display: grid; gap: 7px; padding: 20px 0; border-bottom: 1px solid var(--phs-line); color: var(--phs-ink); text-decoration: none; }
.phscoo-related-links__grid a:hover strong { color: var(--phs-red-dark); }
.phscoo-related-links__grid strong { display: flex; justify-content: space-between; gap: 16px; font-size: 17px; }
.phscoo-related-links__grid strong::after { content: "→"; flex: 0 0 auto; color: var(--phs-red-dark); }
.phscoo-related-links__grid span { color: var(--phs-muted); font-size: 14px; line-height: 1.55; }
.phscoo-product-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 26px; padding-left: 1.2em; }
.phscoo-product-links a { color: var(--phs-red-dark); font-weight: 750; }
.woocommerce #tab-description { padding: 0; overflow: hidden; }
.woocommerce #tab-description > h2:first-child { display: none; }
.phscoo-product-description { color: var(--phs-ink); }
.phscoo-product-description__intro { padding: 36px 40px; border-left: 5px solid var(--phs-red); background: var(--phs-surface); }
.phscoo-product-description__intro > p:last-child { max-width: 850px; margin: 0; font-size: 18px; line-height: 1.7; }
.phscoo-product-description__eyebrow { margin: 0 0 9px !important; color: var(--phs-red-dark); font-size: 12px !important; font-weight: 850; letter-spacing: 0; text-transform: uppercase; }
.phscoo-product-description__section { padding: 38px 40px; }
.phscoo-product-description__section + .phscoo-product-description__section { border-top: 1px solid var(--phs-line); }
.phscoo-product-description__section h2,
.phscoo-product-notes h2 { margin: 0 0 22px; font-size: 28px; line-height: 1.2; }
.phscoo-product-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--phs-line); list-style: none; }
.phscoo-product-highlights li { min-width: 0; display: grid; grid-template-columns: 28px 1fr; gap: 11px; align-items: start; margin: 0 !important; padding: 17px 24px 17px 0; border-bottom: 1px solid var(--phs-line); font-size: 15px; line-height: 1.5; }
.phscoo-product-highlights li:nth-child(odd) { margin-right: 24px !important; }
.phscoo-product-highlights li::before { content: "✓"; width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 50%; color: #fff; background: var(--phs-green); font-size: 13px; font-weight: 900; }
.phscoo-product-description__section--specs { background: #fafbfc; }
.phscoo-product-spec-wrap { overflow-x: auto; border-radius: 5px; }
.phscoo-product-description .phscoo-spec { margin: 0; border: 0; }
.phscoo-product-description .phscoo-spec th { color: #34383e; background: #f0f2f4; font-size: 14px; }
.phscoo-product-description .phscoo-spec td { font-size: 15px; line-height: 1.55; }
.phscoo-product-description .phscoo-spec tr:last-child th,
.phscoo-product-description .phscoo-spec tr:last-child td { border-bottom: 0; }
.phscoo-product-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--phs-line); border-bottom: 1px solid var(--phs-line); }
.phscoo-product-notes section { min-width: 0; padding: 36px 40px; }
.phscoo-product-notes section + section { border-left: 1px solid var(--phs-line); background: #fff8f8; }
.phscoo-product-notes h2 { margin-bottom: 14px; font-size: 22px; }
.phscoo-product-notes p:last-child { margin: 0; color: var(--phs-muted); font-size: 15px; line-height: 1.65; }
.phscoo-product-description__related { border-top: 0 !important; }
.phscoo-product-description .phscoo-product-links { margin: 0; padding: 0; border-top: 1px solid var(--phs-line); list-style: none; }
.phscoo-product-description .phscoo-product-links li { margin: 0; border-bottom: 1px solid var(--phs-line); }
.phscoo-product-description .phscoo-product-links a { display: flex; justify-content: space-between; gap: 16px; padding: 15px 0; color: var(--phs-ink); text-decoration: none; }
.phscoo-product-description .phscoo-product-links a::after { content: "→"; flex: 0 0 auto; color: var(--phs-red-dark); }
.phscoo-product-description .phscoo-product-links a:hover { color: var(--phs-red-dark); }
.phscoo-product-description__source { padding: 17px 40px; border-top: 1px solid var(--phs-line); color: var(--phs-muted); background: var(--phs-surface); font-size: 13px; }
.phscoo-product-description__source a { color: var(--phs-ink); font-weight: 700; }
.phscoo-warranty-landing { overflow: hidden; border: 1px solid var(--phs-line); border-radius: 18px; background: #fff; box-shadow: 0 22px 60px rgba(18,24,34,.08); }
.phscoo-warranty-hero { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 48px; align-items: center; padding: clamp(42px, 7vw, 82px); color: #fff; background: radial-gradient(circle at 85% 15%, rgba(255,210,0,.24), transparent 35%), linear-gradient(135deg, #16191e, #292d34); }
.phscoo-warranty-hero h2 { max-width: 720px; margin: 0 0 18px; color: #fff; font-size: clamp(34px, 5vw, 58px); line-height: 1.03; }
.phscoo-warranty-hero p:last-child { max-width: 760px; margin: 0; color: #e7e9ec; font-size: 18px; line-height: 1.7; }
.phscoo-warranty-hero .phscoo-product-description__eyebrow { color: var(--phs-yellow); }
.phscoo-warranty-hero__mark { width: 210px; aspect-ratio: 1; display: grid; place-content: center; justify-items: center; border: 2px solid rgba(255,255,255,.65); border-radius: 50%; color: #111; background: var(--phs-yellow); box-shadow: 0 20px 50px rgba(0,0,0,.25); transform: rotate(4deg); }
.phscoo-warranty-hero__mark strong { font-size: 82px; line-height: .8; }
.phscoo-warranty-hero__mark span { margin-top: 12px; font-size: 17px; font-weight: 850; text-transform: uppercase; }
.phscoo-warranty-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--phs-line); background: var(--phs-yellow); }
.phscoo-warranty-facts article { min-width: 0; display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 25px 34px; }
.phscoo-warranty-facts article + article { border-left: 1px solid rgba(0,0,0,.18); }
.phscoo-warranty-facts strong { color: var(--phs-red-dark); font-size: 31px; line-height: 1; }
.phscoo-warranty-facts span { font-size: 14px; font-weight: 800; line-height: 1.3; }
.phscoo-warranty-section { padding: clamp(34px, 5vw, 62px); }
.phscoo-warranty-section h2 { margin: 0 0 26px; font-size: clamp(28px, 4vw, 40px); line-height: 1.12; }
.phscoo-warranty-section--muted { background: #f5f6f7; }
.phscoo-warranty-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; counter-reset: warranty-step; list-style: none; }
.phscoo-warranty-steps li { min-width: 0; position: relative; padding: 70px 24px 26px; border: 1px solid var(--phs-line); border-radius: 12px; background: #fff; counter-increment: warranty-step; }
.phscoo-warranty-steps li::before { content: counter(warranty-step, decimal-leading-zero); position: absolute; top: 20px; left: 24px; color: var(--phs-red-dark); font-size: 30px; font-weight: 900; }
.phscoo-warranty-steps span { color: var(--phs-muted); line-height: 1.6; }
.phscoo-warranty-addon { display: grid; gap: 10px; margin: 18px 0 6px; padding: 18px; border: 2px solid var(--phs-yellow); border-radius: 10px; background: #fffbea; }
.phscoo-warranty-addon label { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; cursor: pointer; }
.phscoo-warranty-addon input { width: 19px; height: 19px; margin-top: 3px; accent-color: var(--phs-red-dark); }
.phscoo-warranty-addon strong, .phscoo-warranty-addon small { display: block; }
.phscoo-warranty-addon strong { color: var(--phs-ink); font-size: 15px; }
.phscoo-warranty-addon small { margin-top: 4px; color: var(--phs-muted); font-size: 13px; line-height: 1.45; }
.phscoo-warranty-addon > a { width: fit-content; color: var(--phs-red-dark); font-size: 13px; font-weight: 800; }
.phscoo-shop-pick__cta--cart { color: #111; background: var(--phs-yellow); }
.phscoo-page > .phscoo-section:nth-of-type(even) {
  background: #f7f8fa;
  box-shadow: 0 0 0 100vmax #f7f8fa;
  clip-path: inset(0 -100vmax);
}
.phscoo-prose-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 42px; }
.phscoo-prose-grid:has(> article:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.phscoo-prose-grid article { padding: 24px; border: 1px solid var(--phs-line); border-radius: var(--phs-radius); background: #fff; box-shadow: 0 16px 40px rgba(24,29,38,.06); }
.phscoo-prose-grid h3 { margin-top: 0; font-size: 24px; }
.phscoo-prose-grid p { color: var(--phs-muted); line-height: 1.7; }
.phscoo-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.phscoo-fact { padding: 22px 0; border-top: 3px solid var(--phs-red); }
.phscoo-fact strong { display: block; margin-bottom: 5px; font-size: 28px; }
.phscoo-fact span { color: var(--phs-muted); line-height: 1.45; }
.phscoo-spec { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--phs-line); display: table; }
.phscoo-spec th, .phscoo-spec td { padding: 15px 18px; border-bottom: 1px solid var(--phs-line); text-align: left; vertical-align: top; }
.phscoo-spec th { width: 34%; background: #f9fafb; }
.phscoo-card { padding: 20px 0; border-top: 1px solid var(--phs-line); background: #fff; }
.phscoo-card summary { cursor: pointer; font-size: 18px; font-weight: 800; }
.phscoo-card p { margin: 14px 0 0; padding: 0 22px 4px; color: var(--phs-muted); line-height: 1.65; }
.phscoo-cta { width: 100%; padding: 64px 22px; background: var(--phs-red); color: #fff; text-align: center; }
.phscoo-cta h2 { margin: 0 0 14px; color: #fff; font-size: 42px; }
.phscoo-cta p { font-size: 17px; }

.phscoo-action-page { background: #fff; }
.phscoo-action-hero {
  min-height: min(720px, calc(100svh - 105px));
  display: grid;
  align-items: center;
  padding: 64px 26px;
  background-color: #f4f4f2;
  background-image: url("assets/products/butterfly-ultra-2026-full.jpg");
  background-position: 78% 52%;
  background-repeat: no-repeat;
  background-size: min(64vw, 760px) auto;
}
.phscoo-action-hero__inner { width: min(100%, 1180px); margin: 0 auto; }
.phscoo-action-badge { width: fit-content; display: flex; align-items: center; gap: 7px; margin: 0 0 20px; padding: 8px 12px; color: #3d2b00; background: #ffd84c; border: 1px solid #efc327; border-radius: 999px; font-size: 13px; font-weight: 850; text-transform: uppercase; }
.phscoo-action-hero h1 { max-width: 650px; margin: 0; font-size: clamp(48px, 6vw, 80px); line-height: 1.01; letter-spacing: 0; }
.phscoo-action-hero__lead { max-width: 600px; margin: 24px 0; color: #4d5158; font-size: 19px; line-height: 1.65; }
.phscoo-action-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin: 25px 0 28px; }
.phscoo-action-price span { display: grid; color: #74777d; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.phscoo-action-price del { color: #5e6269; font-size: 19px; font-weight: 700; text-decoration-color: var(--phs-red); text-decoration-thickness: 2px; }
.phscoo-action-price strong { color: var(--phs-red-dark); font-family: "PHS ABeeZee", sans-serif; font-size: 48px; line-height: 1; }
.phscoo-action-price em { padding: 6px 9px; color: #fff; background: #171717; border-radius: 4px; font-size: 12px; font-style: normal; font-weight: 800; }
.phscoo-action-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.phscoo-action-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 13px 20px; color: #171100; background: #ffd84c; border: 1px solid #e8bd23; border-radius: 6px; box-shadow: 0 14px 32px rgba(202,153,0,.2); font-family: "PHS ABeeZee", sans-serif; font-weight: 850; text-decoration: none; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.phscoo-action-button:hover { color: #050505; background: #ffe370; box-shadow: 0 18px 38px rgba(202,153,0,.3); transform: translateY(-2px); }
.phscoo-action-button svg { width: 18px; height: 18px; }
.phscoo-action-link { font-weight: 800; }
.phscoo-action-availability { display: flex; align-items: center; gap: 9px; margin: 18px 0 0; color: #4e535b; font-size: 13px; }
.phscoo-action-availability span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--phs-green); box-shadow: 0 0 0 5px rgba(36,179,90,.12); }
.phscoo-action-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; color: #fff; background: #292c31; }
.phscoo-action-proof > div { min-height: 110px; display: grid; place-content: center; padding: 22px; background: #0d0f12; text-align: center; }
.phscoo-action-proof strong { font-family: "PHS ABeeZee", sans-serif; font-size: 26px; }
.phscoo-action-proof span { margin-top: 5px; color: #bfc2c8; font-size: 13px; }
.phscoo-action-section { width: min(100%, 1180px); margin: 0 auto; padding: 92px 28px; }
.phscoo-action-section > header { max-width: 820px; margin-bottom: 50px; }
.phscoo-action-kicker { margin: 0 0 13px; color: var(--phs-red-dark); font-size: 13px; font-weight: 850; text-transform: uppercase; }
.phscoo-action-section h2, .phscoo-action-product h2, .phscoo-action-final h2 { margin: 0; font-size: clamp(36px, 5vw, 58px); line-height: 1.06; letter-spacing: 0; }
.phscoo-action-section > header > p:last-child { max-width: 720px; margin: 20px 0 0; color: var(--phs-muted); font-size: 18px; line-height: 1.7; }
.phscoo-action-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.phscoo-action-feature-grid article { min-height: 250px; padding: 26px; border: 1px solid var(--phs-line); border-radius: var(--phs-radius); background: #fff; box-shadow: 0 18px 44px rgba(20,25,34,.07); }
.phscoo-action-feature-grid svg { width: 46px; height: 46px; margin-bottom: 38px; padding: 10px; color: var(--phs-red); background: #fff0f1; border-radius: 50%; }
.phscoo-action-feature-grid h3 { margin: 0 0 10px; font-size: 20px; }
.phscoo-action-feature-grid p { margin: 0; color: var(--phs-muted); font-size: 15px; line-height: 1.6; }
.phscoo-action-product { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #f4f5f6; }
.phscoo-action-product__media { min-height: 650px; background: #fff; }
.phscoo-action-product__media img { width: 100%; height: 650px; object-fit: contain; }
.phscoo-action-product__copy { max-width: 660px; padding: 72px clamp(28px, 6vw, 92px); }
.phscoo-action-product__copy ul { display: grid; gap: 14px; margin: 32px 0; padding: 0; list-style: none; }
.phscoo-action-product__copy li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; color: #464a51; line-height: 1.55; }
.phscoo-action-product__copy li svg { width: 20px; color: var(--phs-red); }
.phscoo-action-steps ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; background: var(--phs-line); list-style: none; }
.phscoo-action-steps li { min-height: 240px; display: grid; align-content: space-between; padding: 28px; background: #fff; }
.phscoo-action-steps li > span { color: var(--phs-red); font-family: "PHS ABeeZee", sans-serif; font-size: 13px; }
.phscoo-action-steps h3 { margin: 0 0 9px; font-size: 23px; }
.phscoo-action-steps li p { margin: 0; color: var(--phs-muted); line-height: 1.65; }
.phscoo-action-faq { padding-top: 40px; }
.phscoo-action-faq > div { border-top: 1px solid var(--phs-line); }
.phscoo-action-faq details { border-bottom: 1px solid var(--phs-line); }
.phscoo-action-faq summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; font-family: "PHS ABeeZee", sans-serif; font-size: 19px; font-weight: 800; }
.phscoo-action-faq summary::-webkit-details-marker { display: none; }
.phscoo-action-faq summary svg { flex: 0 0 auto; color: var(--phs-red); transition: transform .2s ease; }
.phscoo-action-faq details[open] summary svg { transform: rotate(45deg); }
.phscoo-action-faq details p { max-width: 820px; margin: 0; padding: 0 48px 28px 0; color: var(--phs-muted); font-size: 16px; line-height: 1.7; }
.phscoo-action-final { padding: 88px 28px; color: #fff; background: #0b0c0f; text-align: center; }
.phscoo-action-final .phscoo-action-badge { margin-inline: auto; }
.phscoo-action-final h2 { max-width: 900px; margin-inline: auto; color: #fff; }
.phscoo-action-final > p:not(.phscoo-action-badge) { max-width: 680px; margin: 22px auto 30px; color: #c8cbd0; font-size: 17px; line-height: 1.65; }

/* Contextual modules for the site's primary customer journeys. */
.phscoo-experience {
  --experience-accent: #ef1b23;
  --experience-accent-soft: #fff0f1;
  --experience-secondary: #075ff7;
  width: 100%;
  color: var(--phs-ink);
  background: #fff;
}
.phscoo-experience--electric { --experience-accent: #075ff7; --experience-accent-soft: #edf4ff; --experience-secondary: #11a36a; }
.phscoo-experience--workshop { --experience-accent: #ec3d23; --experience-accent-soft: #fff2ee; --experience-secondary: #197b8c; }
.phscoo-experience--fresh { --experience-accent: #148a5b; --experience-accent-soft: #eaf8f1; --experience-secondary: #075ff7; }
.phscoo-experience--signal { --experience-accent: #df1b2f; --experience-accent-soft: #fff0f2; --experience-secondary: #e89b12; }
.phscoo-experience--road { --experience-accent: #137d89; --experience-accent-soft: #eaf7f8; --experience-secondary: #ec3d23; }
.phscoo-experience--parts { --experience-accent: #6d45c6; --experience-accent-soft: #f3effc; --experience-secondary: #d94c20; }
.phscoo-experience--calm { --experience-accent: #1f6b76; --experience-accent-soft: #edf6f7; --experience-secondary: #ca3f29; }
.phscoo-experience--partner { --experience-accent: #c83821; --experience-accent-soft: #fff1ed; --experience-secondary: #126f7b; }
.phscoo-experience--brand { --experience-accent: #ef1b23; --experience-accent-soft: #fff0f1; --experience-secondary: #137d89; }
.phscoo-experience__nav {
  position: sticky;
  top: 64px;
  z-index: 20;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 18px;
  overflow-x: auto;
  background: rgba(255,255,255,.94);
  border-block: 1px solid var(--phs-line);
  box-shadow: 0 8px 24px rgba(12,18,28,.06);
  backdrop-filter: blur(14px);
  scrollbar-width: none;
}
.phscoo-experience__nav::-webkit-scrollbar { display: none; }
.phscoo-experience__nav span { margin-right: 8px; color: #6d7178; font-size: 12px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.phscoo-experience__nav a { padding: 8px 12px; border-radius: 999px; color: #454951; font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; transition: background .18s ease, color .18s ease; }
.phscoo-experience__nav a:hover, .phscoo-experience__nav a[aria-current="location"] { background: var(--experience-accent-soft); color: var(--experience-accent); }
.phscoo-experience__band { width: min(100%, 1180px); margin: 0 auto; padding: 90px 28px; scroll-margin-top: 116px; }
.phscoo-experience__band--steps, .phscoo-experience__band--next { width: 100%; padding-inline: max(28px, calc((100% - 1124px) / 2)); }
.phscoo-experience__band--steps { color: var(--phs-ink); background: #f2f4f7; border-block: 1px solid #e0e3e8; }
.phscoo-experience__band--details { background: #fff; }
.phscoo-experience__band--next { background: var(--experience-accent-soft); }
.phscoo-experience__header { max-width: 820px; margin-bottom: 48px; }
.phscoo-experience__eyebrow { margin: 0 0 14px; color: var(--experience-accent); font-size: 13px; font-weight: 850; text-transform: uppercase; }
.phscoo-experience__header h2, .phscoo-experience__split-heading h2 { margin: 0; font-size: clamp(34px, 5vw, 58px); line-height: 1.06; letter-spacing: 0; }
.phscoo-experience__header > p:last-child { max-width: 740px; margin: 22px 0 0; color: var(--phs-muted); font-size: 18px; line-height: 1.7; }
.phscoo-experience__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.phscoo-experience-card {
  position: relative;
  min-height: 286px;
  padding: 26px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e4e8;
  border-radius: var(--phs-radius);
  box-shadow: 0 18px 46px rgba(17,24,39,.07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.phscoo-experience-card::after { content: ""; position: absolute; inset: auto 0 0; height: 5px; background: var(--experience-accent); opacity: .85; }
.phscoo-experience-card--2::after { background: var(--experience-secondary); }
.phscoo-experience-card--3::after { background: #e8a21a; }
.phscoo-experience-card--4::after { background: #272b31; }
.phscoo-experience-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--experience-accent) 35%, #e2e4e8); box-shadow: 0 26px 54px rgba(17,24,39,.12); }
.phscoo-experience-card__icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 44px; border-radius: 50%; color: var(--experience-accent); background: var(--experience-accent-soft); }
.phscoo-experience-card__icon svg { width: 23px; height: 23px; }
.phscoo-experience-card h3 { margin: 0 0 11px; font-size: 21px; line-height: 1.25; }
.phscoo-experience-card p { margin: 0; color: var(--phs-muted); font-size: 15px; line-height: 1.65; }
.phscoo-experience-card[href] { color: inherit; text-decoration: none; }
.phscoo-experience-card[href]:focus-visible { outline: 3px solid color-mix(in srgb, var(--experience-accent) 35%, transparent); outline-offset: 3px; }
.phscoo-experience-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 22px; color: var(--experience-accent); font-size: 13px; font-weight: 800; }
.phscoo-experience-card__link svg { width: 16px; height: 16px; }
.phscoo-experience__split-heading { display: grid; grid-template-columns: .36fr .64fr; gap: 60px; align-items: start; margin-bottom: 54px; }
.phscoo-experience__band--steps .phscoo-experience__eyebrow { color: var(--experience-accent); }
.phscoo-experience__band--steps .phscoo-experience__split-heading h2 { color: var(--phs-ink); }
.phscoo-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.phscoo-steps li { position: relative; min-height: 220px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; overflow: hidden; border: 1px solid #dce0e5; border-radius: 8px; background: #fff; box-shadow: 0 16px 36px rgba(24,31,41,.07); }
.phscoo-steps li::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: var(--experience-accent); }
.phscoo-steps li:nth-child(2)::before { background: var(--experience-secondary); }
.phscoo-steps li:nth-child(3)::before { background: #e8a21a; }
.phscoo-steps li:nth-child(4)::before { background: #292d33; }
.phscoo-steps span { width: 66px; height: 66px; display: grid; place-items: center; margin: 6px 0 30px; border-radius: 50%; color: var(--experience-accent); background: var(--experience-accent-soft); font-family: "PHS ABeeZee", sans-serif; font-size: 25px; font-weight: 850; }
.phscoo-steps strong { max-width: 220px; display: block; color: #20242a; font-size: 20px; line-height: 1.35; }
.phscoo-accordion { border-top: 1px solid var(--phs-line); }
.phscoo-accordion details { border-bottom: 1px solid var(--phs-line); }
.phscoo-accordion summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #181b20; cursor: pointer; list-style: none; font-family: "PHS ABeeZee", sans-serif; font-size: 20px; font-weight: 800; }
.phscoo-accordion summary::-webkit-details-marker { display: none; }
.phscoo-accordion summary svg { flex: 0 0 auto; color: var(--experience-accent); transition: transform .2s ease; }
.phscoo-accordion details[open] summary svg { transform: rotate(45deg); }
.phscoo-accordion details > div { max-width: 820px; padding: 0 52px 28px 0; }
.phscoo-accordion details p { margin: 0; color: var(--phs-muted); font-size: 17px; line-height: 1.75; }
.phscoo-route-switcher { display: grid; grid-template-columns: minmax(220px, .36fr) minmax(0, .64fr); gap: 22px; }
.phscoo-route-switcher__tabs { display: grid; align-content: start; gap: 8px; }
.phscoo-route-switcher__tabs button { min-height: 62px; display: flex; justify-content: flex-start; gap: 13px; padding: 13px 16px; border: 1px solid transparent; border-radius: var(--phs-radius); color: #4a4f56; background: transparent; cursor: pointer; font-size: 15px; }
.phscoo-route-switcher__tabs button:hover { background: rgba(255,255,255,.55); }
.phscoo-route-switcher__tabs button[aria-selected="true"] { color: var(--experience-accent); background: #fff; border-color: color-mix(in srgb, var(--experience-accent) 20%, #e2e4e8); box-shadow: 0 14px 30px rgba(25,35,48,.08); }
.phscoo-route-switcher__tabs svg { width: 20px; height: 20px; }
.phscoo-route-switcher__panels { min-width: 0; }
.phscoo-route-switcher__panels [role="tabpanel"] { min-height: 202px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 34px; border: 1px solid rgba(255,255,255,.8); border-radius: var(--phs-radius); background: rgba(255,255,255,.68); box-shadow: 0 22px 48px rgba(24,31,41,.08); }
.phscoo-route-switcher__panels [role="tabpanel"][hidden] { display: none; }
.phscoo-route-switcher__panels h3 { margin: 0 0 10px; font-size: 28px; }
.phscoo-route-switcher__panels p { max-width: 520px; margin: 0; color: var(--phs-muted); font-size: 16px; line-height: 1.65; }
.phscoo-route-switcher__panels .phscoo-pill { flex: 0 0 auto; gap: 8px; }
.phscoo-route-switcher__panels .phscoo-pill svg { width: 17px; height: 17px; }
.phscoo-route-switcher__actions { flex: 0 0 auto; display: grid; gap: 10px; }
.phscoo-route-switcher__actions .phscoo-pill { width: 100%; }
.phscoo-fa-icon { display: inline-block; width: 1em; height: 1em; flex: 0 0 auto; background-color: currentColor; }
.phscoo-fa-icon--whatsapp { -webkit-mask: url("assets/vendor/fontawesome/brands/whatsapp.svg") center / contain no-repeat; mask: url("assets/vendor/fontawesome/brands/whatsapp.svg") center / contain no-repeat; }
.phscoo-route-switcher__panels .phscoo-fa-icon { width: 17px; height: 17px; }
.phscoo-pill--whatsapp { color: #073d21; background: #25d366; }
.phscoo-pill--whatsapp:hover, .phscoo-pill--whatsapp:focus-visible { color: #052f19; background: #20bd5a; }
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* Distinct content-page compositions. */
.phscoo-content-layout--catalog .phscoo-page > .phscoo-section:nth-of-type(even) {
  width: min(calc(100% - 36px), 1220px);
  margin-block: 22px;
  border-radius: 24px;
  background: #f5f7fa;
}
.phscoo-content-layout--editorial .phscoo-page > .phscoo-section:not(.phscoo-cta) {
  max-width: 980px;
  padding-block: 72px;
  border-bottom: 1px solid #dfe3e8;
}
.phscoo-content-layout--network .phscoo-page .phscoo-prose-grid article {
  border: 0;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #f3f5f8);
  box-shadow: 0 20px 45px rgba(17,24,39,.08);
}

.phscoo-experience--layout-catalog .phscoo-experience__band--intro {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: 58px;
  align-items: start;
}
.phscoo-experience--layout-catalog .phscoo-experience__header { position: sticky; top: 142px; margin: 0; }
.phscoo-experience--layout-catalog .phscoo-experience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.phscoo-experience--layout-catalog .phscoo-experience-card { min-height: 245px; border-radius: 20px; }
.phscoo-experience--layout-catalog .phscoo-experience-card:nth-child(1),
.phscoo-experience--layout-catalog .phscoo-experience-card:nth-child(4) { background: var(--experience-accent-soft); }
.phscoo-experience--layout-catalog .phscoo-experience-card__icon { margin-bottom: 30px; background: #fff; }
.phscoo-experience--layout-catalog .phscoo-experience__band--steps { color: #fff; background: #101318; border-color: #101318; }
.phscoo-experience--layout-catalog .phscoo-experience__band--steps .phscoo-experience__eyebrow { color: #ff7479; }
.phscoo-experience--layout-catalog .phscoo-experience__band--steps .phscoo-experience__split-heading h2 { color: #fff; }
.phscoo-experience--layout-catalog .phscoo-steps li { border-color: #343840; background: #1a1e24; box-shadow: none; }
.phscoo-experience--layout-catalog .phscoo-steps strong { color: #fff; }

.phscoo-experience--layout-workbench .phscoo-experience__band--intro {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 70px;
  padding-inline: max(28px, calc((100% - 1124px) / 2));
  color: #fff;
  background: radial-gradient(circle at 8% 16%, color-mix(in srgb, var(--experience-accent) 34%, transparent), transparent 30%), #12151a;
}
.phscoo-experience--layout-workbench .phscoo-experience__header { margin: 0; }
.phscoo-experience--layout-workbench .phscoo-experience__header h2 { color: #fff; }
.phscoo-experience--layout-workbench .phscoo-experience__header > p:last-child { color: #c4c9d1; }
.phscoo-feature-worklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; background: #3a3f47; }
.phscoo-feature-worklist li { position: relative; min-height: 238px; display: grid; grid-template-columns: auto 1fr; align-content: start; gap: 20px; padding: 24px; background: #1b1f25; }
.phscoo-feature-worklist__number { position: absolute; top: 18px; right: 20px; color: #737a85; font: 850 12px/1 "PHS ABeeZee", sans-serif; letter-spacing: .12em; }
.rtl .phscoo-feature-worklist__number { right: auto; left: 20px; }
.phscoo-feature-worklist .phscoo-experience-card__icon { margin: 0; color: #fff; background: var(--experience-accent); }
.phscoo-feature-worklist h3 { margin: 8px 0 10px; color: #fff; font-size: 20px; }
.phscoo-feature-worklist p { margin: 0; color: #b9c0ca; font-size: 14px; line-height: 1.65; }
.phscoo-experience--layout-workbench .phscoo-experience__band--steps { background: #fff; }
.phscoo-experience--layout-workbench .phscoo-steps { gap: 0; border-block: 1px solid #dfe3e8; }
.phscoo-experience--layout-workbench .phscoo-steps li { min-height: 190px; border: 0; border-inline-end: 1px solid #dfe3e8; border-radius: 0; box-shadow: none; }
.phscoo-experience--layout-workbench .phscoo-steps li:last-child { border-inline-end: 0; }
.phscoo-experience--layout-workbench .phscoo-steps li::before { width: 42px; height: 4px; inset: 0 auto auto 26px; }
.phscoo-experience--layout-workbench .phscoo-steps span { width: auto; height: auto; place-items: start; margin: 9px 0 42px; border-radius: 0; color: #9a9fa7; background: transparent; font-size: 15px; }
.phscoo-experience--layout-workbench .phscoo-experience__band--details { width: 100%; padding-inline: max(28px, calc((100% - 1124px) / 2)); border-block: 1px solid #dfe3e8; background: linear-gradient(180deg, #fff 0%, #f4f6f8 100%); }
.phscoo-experience--layout-workbench .phscoo-accordion { border-top-color: color-mix(in srgb, var(--experience-accent) 25%, #dfe3e8); }
.phscoo-experience--layout-workbench .phscoo-accordion details { border-bottom-color: color-mix(in srgb, var(--experience-accent) 25%, #dfe3e8); }

.phscoo-experience--layout-editorial .phscoo-experience__band--intro {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: 76px;
}
.phscoo-experience--layout-editorial .phscoo-experience__header { margin: 0; padding-top: 12px; }
.phscoo-feature-ledger { margin: 0; border-top: 2px solid var(--phs-ink); }
.phscoo-feature-ledger > div { display: grid; grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid #d9dde2; }
.phscoo-feature-ledger dt { display: flex; align-items: center; gap: 13px; font-size: 17px; font-weight: 850; }
.phscoo-feature-ledger dd { margin: 0; color: var(--phs-muted); font-size: 15px; line-height: 1.65; }
.phscoo-feature-ledger .phscoo-experience-card__icon { width: 38px; height: 38px; flex: 0 0 auto; margin: 0; border-radius: 8px; }
.phscoo-feature-ledger .phscoo-experience-card__icon svg { width: 19px; height: 19px; }
.phscoo-experience--layout-editorial .phscoo-experience__band--steps { background: #f7f2ea; border-color: #eadfce; }
.phscoo-experience--layout-editorial .phscoo-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.phscoo-experience--layout-editorial .phscoo-steps li { min-height: 132px; display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.phscoo-experience--layout-editorial .phscoo-steps li::before { inset: 0; width: 4px; height: 100%; }
.phscoo-experience--layout-editorial .phscoo-steps span { width: 58px; height: 58px; margin: 0; }
.phscoo-experience--layout-editorial .phscoo-steps strong { max-width: none; }
.phscoo-detail-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.phscoo-detail-cards article { min-height: 280px; padding: 28px; border: 1px solid #dfe3e8; border-radius: 18px; background: #fff; box-shadow: 0 18px 42px rgba(17,24,39,.07); }
.phscoo-detail-cards article > span { display: block; margin-bottom: 54px; color: var(--experience-accent); font: 850 13px/1 "PHS ABeeZee", sans-serif; letter-spacing: .12em; }
.phscoo-detail-cards h3 { margin: 0 0 14px; font-size: 21px; line-height: 1.3; }
.phscoo-detail-cards p { margin: 0; color: var(--phs-muted); font-size: 15px; line-height: 1.68; }

.phscoo-experience--layout-network .phscoo-experience__band--intro {
  width: 100%;
  padding-inline: max(28px, calc((100% - 1124px) / 2));
  color: #fff;
  background: radial-gradient(circle at 86% 14%, color-mix(in srgb, var(--experience-accent) 55%, transparent), transparent 28%), linear-gradient(135deg, #111318, #242a33);
}
.phscoo-experience--layout-network .phscoo-experience__header { max-width: 900px; margin: 0 auto 54px; text-align: center; }
.phscoo-experience--layout-network .phscoo-experience__header h2 { color: #fff; }
.phscoo-experience--layout-network .phscoo-experience__header > p:last-child { margin-inline: auto; color: #cbd0d7; }
.phscoo-experience--layout-network .phscoo-experience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 940px; margin: 0 auto; }
.phscoo-experience--layout-network .phscoo-experience-card { min-height: 205px; padding: 28px 30px; border-color: rgba(255,255,255,.13); border-radius: 4px; color: #fff; background: rgba(255,255,255,.06); box-shadow: none; }
.phscoo-experience--layout-network .phscoo-experience-card:hover { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.1); }
.phscoo-experience--layout-network .phscoo-experience-card h3 { color: #fff; }
.phscoo-experience--layout-network .phscoo-experience-card p { color: #c3c9d1; }
.phscoo-experience--layout-network .phscoo-experience-card__icon { margin-bottom: 24px; color: #fff; background: var(--experience-accent); }
.phscoo-experience--layout-network .phscoo-experience__band--steps { background: #fff; }
.phscoo-experience--layout-network .phscoo-steps { gap: 0; }
.phscoo-experience--layout-network .phscoo-steps li { min-height: 170px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.phscoo-experience--layout-network .phscoo-steps li:not(:last-child)::after { content: "→"; position: absolute; top: 48px; right: -10px; z-index: 2; color: #a7adb5; font-size: 24px; }
.rtl .phscoo-experience--layout-network .phscoo-steps li:not(:last-child)::after { right: auto; left: -10px; transform: rotate(180deg); }
.phscoo-experience--layout-network .phscoo-steps li::before { display: none; }
.phscoo-experience--layout-network .phscoo-steps span { width: 54px; height: 54px; margin-bottom: 24px; }
.phscoo-experience--layout-network .phscoo-experience__band--details { background: #f3f5f7; }
.phscoo-experience--layout-network .phscoo-detail-cards article { border: 0; border-radius: 28px 4px 28px 4px; }
.phscoo-experience--layout-network .phscoo-experience__band--next { color: #fff; background: #111318; }
.phscoo-experience--layout-network .phscoo-experience__band--next .phscoo-experience__eyebrow { color: #ff7479; }
.phscoo-experience--layout-network .phscoo-experience__band--next .phscoo-experience__split-heading h2 { color: #fff; }
.phscoo-route-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.phscoo-route-cards article { min-width: 0; display: flex; flex-direction: column; padding: 28px; border: 1px solid #353a42; border-radius: 16px; background: #1b1f25; }
.phscoo-route-cards__icon { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 38px; border-radius: 50%; color: #fff; background: var(--experience-accent); }
.phscoo-route-cards__icon svg { width: 22px; height: 22px; }
.phscoo-route-cards h3 { margin: 0 0 10px; color: #fff; font-size: 24px; }
.phscoo-route-cards p { margin: 0 0 28px; color: #bfc5cd; font-size: 15px; line-height: 1.65; }
.phscoo-route-cards .phscoo-route-switcher__actions { margin-top: auto; }
.phscoo-route-cards .phscoo-pill--dark { color: #171a1f; background: #fff; }
.phscoo-route-cards .phscoo-pill--dark:hover { background: #e8ebef; }

.phscoo-product-main, .phscoo-shop-main { width: min(100%, var(--phs-content)); margin: 0 auto; padding: 42px 22px 88px; }
.phscoo-product-main .wp-block-post-title { font-size: 46px; line-height: 1.08; }
.phscoo-product-main .wp-block-woocommerce-product-price { margin: 18px 0 20px; color: var(--phs-red-dark); font-weight: 850; }
.phscoo-product-main .wp-block-woocommerce-product-price .wc-block-components-product-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.phscoo-product-main .wp-block-woocommerce-product-price .wc-block-components-product-price del {
  display: inline-block;
  margin: 0;
  color: #747a83;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.2;
  opacity: .78;
  text-decoration-color: #8e949c;
  text-decoration-thickness: 1.5px;
}
.phscoo-product-main .wp-block-woocommerce-product-price .wc-block-components-product-price del .amount { font-size: inherit; }
.phscoo-product-main .wp-block-woocommerce-product-price .wc-block-components-product-price ins { color: var(--phs-red-dark); font-size: 28px; font-weight: 850; line-height: 1.1; text-decoration: none; }
.phscoo-product-main .wp-block-post-excerpt { margin: 0 0 24px; }
.phscoo-product-main .wp-block-post-excerpt__excerpt { margin: 0; color: #454b54; line-height: 1.65; }
.phscoo-product-main .wp-block-woocommerce-product-sku {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
  color: #686f78;
  font-size: 12px;
  font-weight: 700;
}
.phscoo-product-main .wp-block-woocommerce-product-sku .sku {
  max-width: 100%;
  padding: 5px 8px;
  overflow-wrap: anywhere;
  border: 1px solid #d5d9de;
  border-radius: 4px;
  color: #30363d;
  background: #f3f5f7;
  font: 700 12px/1.3 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}
.phscoo-product-main .wp-block-woocommerce-product-meta > .wp-block-group { align-items: center; gap: 10px 20px; }
.phscoo-product-main .wp-block-woocommerce-product-meta .wp-block-woocommerce-product-sku { margin-top: 0; }
.phscoo-product-main .wp-block-woocommerce-product-meta .taxonomy-product_cat { display: flex; align-items: center; gap: 6px; color: #686f78; font-size: 13px; }
.phscoo-product-main .wp-block-woocommerce-product-meta .taxonomy-product_cat a { color: #30363d; font-weight: 750; }
.phscoo-product-main .wc-block-components-product-image { border: 1px solid var(--phs-line); border-radius: var(--phs-radius); overflow: hidden; }
.phscoo-product-main .wp-block-woocommerce-product-details { margin-top: 64px; }
.phscoo-product-main .wp-block-woocommerce-product-collection > .wp-block-heading {
  margin-top: 34px !important;
  margin-bottom: 20px !important;
  font-size: 28px;
  line-height: 1.25;
}
.phscoo-shop-main .wp-block-query-title { margin-bottom: 14px; font-size: 48px; }
.phscoo-shop-main > br { display: none; }
.phscoo-shop-picks { margin: 0 0 30px; padding: 30px 30px 22px; overflow: hidden; border-radius: 22px; color: #fff; background: radial-gradient(circle at 92% 0, rgba(239,27,35,.34), transparent 34%), linear-gradient(135deg, #111318, #242831); box-shadow: 0 24px 60px rgba(20,24,31,.18); }
.phscoo-shop-picks__heading { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, .7fr); align-items: end; gap: 36px; margin-bottom: 24px; }
.phscoo-shop-picks__heading h2 { margin: 4px 0 0; color: #fff; font-size: clamp(30px, 4vw, 44px); line-height: 1.04; }
.phscoo-shop-picks__heading > p { max-width: 520px; margin: 0; color: #c9ced6; font-size: 15px; line-height: 1.65; }
.phscoo-shop-picks__eyebrow { margin: 0; color: #ff6a70; font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.phscoo-shop-picks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.phscoo-shop-pick { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: #fff; color: var(--phs-ink); box-shadow: 0 16px 34px rgba(0,0,0,.18); transition: transform .22s ease, box-shadow .22s ease; }
.phscoo-shop-pick > p:empty, .phscoo-shop-pick__content > p:empty { display: none; }
.phscoo-shop-pick:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(0,0,0,.24); }
.phscoo-shop-pick__media { position: relative; aspect-ratio: 4 / 3; display: block; flex: 0 0 auto; overflow: hidden; background: #f6f7f8; text-decoration: none; }
.phscoo-shop-pick__media img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform .35s ease; }
.phscoo-shop-pick:hover .phscoo-shop-pick__media img { transform: scale(1.035); }
.phscoo-shop-pick__badge { position: absolute; top: 14px; left: 14px; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(15,17,21,.9); font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.phscoo-shop-pick--primary .phscoo-shop-pick__badge { background: var(--phs-red); }
.phscoo-shop-pick__media--warranty { display: grid; place-content: center; gap: 8px; padding: 24px; color: #fff; text-align: center; background: radial-gradient(circle at 50% 32%, rgba(255,255,255,.2), transparent 30%), linear-gradient(145deg, #d90e18, #6c0710); }
.phscoo-shop-pick__warranty-mark { display: grid; justify-items: center; line-height: 1; }
.phscoo-shop-pick__warranty-mark strong { font-size: clamp(64px, 8vw, 92px); letter-spacing: -.08em; }
.phscoo-shop-pick__warranty-mark span { margin-top: 3px; font-size: 15px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.phscoo-shop-pick__warranty-copy { font-size: 13px; font-weight: 700; opacity: .84; }
.phscoo-shop-pick__content { display: grid; flex: 1; align-content: start; gap: 12px; padding: 19px; }
.phscoo-shop-pick__content h3 { min-height: 50px; margin: 0; font-size: 20px; line-height: 1.25; }
.phscoo-shop-pick__content h3 a { color: inherit; text-decoration: none; }
.phscoo-shop-pick__content h3 a:hover { color: var(--phs-red-dark); }
.phscoo-shop-pick__content > p:not(:empty):not(.phscoo-shop-pick__tax) { min-height: 63px; margin: 0; color: #5c626b; font-size: 13px; line-height: 1.6; }
.phscoo-shop-pick__content ul { min-height: 31px; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.phscoo-shop-pick__content li { min-height: 28px; display: inline-flex; align-items: center; justify-content: center; padding: 5px 8px; border-radius: 999px; color: #454b53; background: #f0f2f4; font-size: 10px; font-weight: 750; line-height: 1; text-align: center; }
.phscoo-shop-pick__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; margin-top: auto; padding-top: 3px; }
.phscoo-shop-pick__price { min-height: 28px !important; display: flex; align-items: baseline; gap: 7px; margin: 0 !important; }
.phscoo-shop-pick__price del { color: #81868e; font-size: 12px; }
.phscoo-shop-pick__price strong { color: var(--phs-red-dark); font-size: 21px; }
.phscoo-shop-pick__cta { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 11px; border: 1px solid #c9cdd3; border-radius: 999px; color: #171a1f; background: #fff; font-size: 12px; font-weight: 850; line-height: 1.1; text-decoration: none; white-space: nowrap; transition: border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.phscoo-shop-pick__cta--cart { border-color: var(--phs-yellow); background: var(--phs-yellow); box-shadow: 0 5px 14px rgba(255,212,59,.24); }
.phscoo-shop-pick__cta span { transition: transform .2s ease; }
.phscoo-shop-pick__cta:hover { border-color: var(--phs-red); color: var(--phs-red-dark); background: #fff5f5; }
.phscoo-shop-pick__cta--cart:hover { border-color: #efbd00; color: #111; background: #ffe168; }
.phscoo-shop-pick__cta:hover span { transform: translateX(3px); }
.phscoo-shop-pick__tax { width: 100%; margin: -3px 0 0; color: #747a83; font-size: 11px; line-height: 1.4; text-align: center; }
.phscoo-shop-pick__tax a { color: inherit; text-decoration-color: rgba(116,122,131,.55); text-underline-offset: 2px; }
.phscoo-shop-pick__tax a:hover { color: var(--phs-red-dark); }
.phscoo-shop-filters { margin: 28px 0 18px; padding: 20px; border: 1px solid var(--phs-line); border-radius: 6px; background: #f4f6f8; }
.phscoo-shop-filters br, .phscoo-shop-filters > p:empty { display: none; }
.phscoo-shop-filters__heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.phscoo-shop-filters__heading h2 { display: inline-flex; align-items: center; gap: 9px; margin: 0; font-size: 20px; }
.phscoo-shop-filters__heading h2 .dashicons { color: var(--phs-red); }
.phscoo-shop-filters__reset { display: inline-flex; align-items: center; gap: 6px; color: #565d66; font-size: 13px; font-weight: 750; text-decoration: none; }
.phscoo-shop-filters__reset:hover { color: var(--phs-red-dark); text-decoration: underline; }
.phscoo-shop-filters__form { display: grid; grid-template-columns: 1.35fr 1.05fr .95fr .62fr .62fr auto; gap: 12px; align-items: end; }
.phscoo-shop-filters__form label { min-width: 0; display: grid; gap: 7px; margin: 0; }
.phscoo-shop-filters__form label > span { color: #4c535c; font-size: 12px; font-weight: 800; }
.phscoo-shop-filters__form input,
.phscoo-shop-filters__form select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #c7cbd1; border-radius: 5px; color: var(--phs-ink); background: #fff; font: 650 14px/1.2 "PHS Inter", Arial, sans-serif; }
.phscoo-shop-filters__form input::placeholder { color: #777e87; opacity: 1; }
.phscoo-shop-filters__form input:hover, .phscoo-shop-filters__form select:hover { border-color: #8d929a; }
.phscoo-shop-filters__form button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 16px; border: 0; border-radius: 5px; color: #fff; background: #252a31; font-weight: 800; white-space: nowrap; cursor: pointer; }
.phscoo-shop-filters__form button:hover { background: var(--phs-red-dark); }
.wc-block-product-template__responsive > li { border: 1px solid var(--phs-line); border-radius: var(--phs-radius); padding: 16px; background: #fff; }
.wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: contain; }
.phscoo-shop-main .wc-block-product-template__responsive > .wc-block-product {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
}
.phscoo-shop-main .wc-block-product > .wc-block-components-product-image,
.phscoo-shop-main .wc-block-product > .wp-block-post-title { flex: 0 0 100%; }
.phscoo-shop-main .wc-block-product > .wp-block-woocommerce-product-price {
  order: 1;
  flex: 0 0 100%;
  margin-bottom: 3px !important;
  color: var(--phs-red-dark);
  font-size: 23px !important;
  font-weight: 850;
  line-height: 1.15;
}
.phscoo-shop-main .wc-block-product > .wc-gzd-additional-info-loop {
  order: 4;
  color: #747a83;
  font-size: 11px;
  line-height: 1.35;
}
.phscoo-shop-main .wc-block-product > .tax-info,
.phscoo-shop-main .wc-block-product > .shipping-costs-info {
  order: 2;
  flex: 0 0 auto;
  margin: 0 !important;
  text-align: center;
}
.phscoo-shop-main .wc-block-product > .tax-info::after { content: "\00a0"; }
.phscoo-shop-main .wc-block-product > .shipping-costs-info a {
  color: inherit;
  text-decoration-color: rgba(116,122,131,.55);
  text-underline-offset: 2px;
}
.phscoo-shop-main .wc-block-product > .wp-block-woocommerce-product-button {
  order: 3;
  flex: 0 0 100%;
  margin: 14px 0 0;
}
.phscoo-shop-main .wc-block-product > .wp-block-woocommerce-product-button .wp-block-button__link { margin-bottom: 0 !important; }
.phscoo-shop-main .wc-block-product > .wc-gzd-additional-info-loop:not(.tax-info):not(.shipping-costs-info) {
  flex: 0 0 100%;
  margin: 9px 0 0;
}
.phscoo-shop-pagination {
  width: 100%;
  min-height: 64px;
  justify-content: center;
  gap: 10px !important;
  margin-top: 34px !important;
  padding: 10px 14px;
  border-top: 1px solid var(--phs-line);
}
.phscoo-shop-pagination .wp-block-query-pagination-numbers {
  display: flex;
  gap: 7px;
  margin: 0;
}
.phscoo-shop-pagination .page-numbers,
.phscoo-shop-pagination .wp-block-query-pagination-previous,
.phscoo-shop-pagination .wp-block-query-pagination-next {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 13px;
  border: 1px solid #cfd3d8;
  border-radius: 5px;
  color: #30363d;
  background: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.phscoo-shop-pagination .page-numbers.current {
  border-color: var(--phs-red-dark);
  color: #fff;
  background: var(--phs-red-dark);
  box-shadow: 0 6px 16px rgba(180,0,18,.2);
}
.phscoo-shop-pagination a:hover,
.phscoo-shop-pagination a:focus-visible {
  border-color: var(--phs-red);
  color: var(--phs-red-dark);
  background: #fff5f5;
  outline: none;
}
.phscoo-shop-pagination .wp-block-query-pagination-previous::before { content: "\2190"; margin-right: 7px; }
.phscoo-shop-pagination .wp-block-query-pagination-next::after { content: "\2192"; margin-left: 7px; }
@media (max-width: 520px) {
  .phscoo-shop-pagination { gap: 7px !important; padding-inline: 0; }
  .phscoo-shop-pagination .page-numbers,
  .phscoo-shop-pagination .wp-block-query-pagination-previous,
  .phscoo-shop-pagination .wp-block-query-pagination-next { min-width: 40px; min-height: 40px; padding: 7px 10px; font-size: 13px; }
}
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
  width: auto !important;
  min-width: 0;
  display: flex;
  float: none !important;
  flex-direction: column;
  margin: 0 !important;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  padding: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(24,31,41,.06);
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display: block; color: var(--phs-ink); text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / 1; margin: 0 0 18px; border-radius: 4px; object-fit: contain; background: #f7f8fa; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 52px; padding: 0; font-size: 20px; line-height: 1.3; }
.woocommerce ul.products li.product .price { margin: 10px 0 4px; color: var(--phs-red-dark); font-size: 19px; font-weight: 850; }
.woocommerce ul.products li.product .wgm-info { margin: 3px 0; color: var(--phs-muted); font-size: 13px; line-height: 1.4; }
.woocommerce ul.products li.product .button { width: 100%; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; margin-top: auto; border-radius: 4px; text-align: center; }

/* WooCommerce controls and feedback */
.phscoo-shop-main > .wp-block-group.alignwide {
  min-height: 58px;
  margin: 28px 0 24px;
  padding: 8px 10px 8px 18px;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: var(--phs-surface);
}
.wc-block-product-results-count .woocommerce-result-count { margin: 0; color: var(--phs-muted); font-size: 14px; font-weight: 650; }
.woocommerce-ordering { position: relative; margin: 0; }
.woocommerce-ordering::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--phs-ink);
  border-bottom: 2px solid var(--phs-ink);
  pointer-events: none;
  transform: translateY(-70%) rotate(45deg);
}
.woocommerce-ordering select,
.wc-block-components-select .wc-block-components-select__select {
  min-height: 42px;
  appearance: none;
  padding: 0 44px 0 14px;
  border: 1px solid #c8cbd0;
  border-radius: 5px;
  color: var(--phs-ink);
  background: #fff;
  font: 650 14px/1.2 "PHS Inter", Arial, sans-serif;
  cursor: pointer;
}
.woocommerce-ordering select:hover, .woocommerce form select:hover { border-color: #8d929a; }

.woocommerce-tabs.wc-tabs-wrapper { margin-top: 70px; }
.woocommerce div.product .woocommerce-tabs ul.tabs,
.phscoo-product-main .wc-block-components-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 24px;
  padding: 6px;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: var(--phs-surface);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.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 {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.phscoo-product-main .wc-block-components-tabs__item {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 10px 17px;
  border-radius: 5px;
  color: #50545b;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.phscoo-product-main .wc-block-components-tabs__item[aria-selected="true"] {
  color: var(--phs-ink);
  background: #fff;
  box-shadow: 0 5px 16px rgba(24,31,41,.09);
}
.woocommerce div.product .woocommerce-tabs .panel {
  margin: 0;
  padding: 30px;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: #fff;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { margin-top: 0; }

.woocommerce #reviews { max-width: 860px; }
.woocommerce #reviews #comments { margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--phs-line); }
.woocommerce #reviews .woocommerce-Reviews-title { margin: 0 0 10px; font-size: 25px; }
.woocommerce #reviews .woocommerce-noreviews { margin: 0; color: var(--phs-muted); }
.woocommerce #review_form #respond { margin: 0; padding: 0; }
.woocommerce #review_form .comment-reply-title { display: block; margin-bottom: 10px; font-family: "PHS ABeeZee", Arial, sans-serif; font-size: 23px; font-weight: 800; }
.woocommerce #review_form .comment-notes { margin: 0 0 24px; color: var(--phs-muted); font-size: 14px; }
.woocommerce #review_form label { display: block; margin-bottom: 7px; color: #30343a; font-size: 14px; font-weight: 750; }
.woocommerce #review_form .required { color: var(--phs-red-dark); }
.woocommerce #review_form .comment-form-rating { padding: 16px 18px; border-radius: 6px; background: var(--phs-surface); }
.woocommerce #review_form .stars { margin: 8px 0 0; font-size: 24px; }
.woocommerce #review_form .stars a { color: #efb20d; }
.woocommerce #review_form .comment-form-comment { margin: 22px 0 16px; }
.woocommerce #review_form .comment-form-author,
.woocommerce #review_form .comment-form-email { width: calc(50% - 8px); display: inline-block; margin: 0 12px 16px 0; vertical-align: top; }
.woocommerce #review_form .comment-form-email { margin-right: 0; }
.woocommerce #review_form textarea,
.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce form .input-text,
.woocommerce form textarea,
.woocommerce form select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #c8cbd0;
  border-radius: 5px;
  color: var(--phs-ink);
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(24,31,41,.04);
  font: 400 16px/1.45 "PHS Inter", Arial, sans-serif;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce #review_form textarea, .woocommerce form textarea, .wc-block-components-textarea { min-height: 138px; resize: vertical; }
.woocommerce #review_form textarea:hover,
.woocommerce #review_form input:hover,
.woocommerce form .input-text:hover,
.wc-block-components-text-input input:hover { border-color: #8d929a; }
.woocommerce #review_form textarea:focus,
.woocommerce #review_form input:focus,
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  border-color: var(--phs-focus);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(22,119,255,.15);
}
.woocommerce #review_form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 22px; }
.woocommerce #review_form .comment-form-cookies-consent input,
.woocommerce input[type="checkbox"], .wc-block-components-checkbox__input { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; accent-color: var(--phs-red); }
.woocommerce #review_form .comment-form-cookies-consent label { margin: 0; font-weight: 500; line-height: 1.5; }
.woocommerce #review_form .form-submit { margin: 0; }
.woocommerce #review_form #submit,
.woocommerce button.button, .woocommerce input.button,
.wc-block-components-button:not(.is-link) {
  min-height: 46px;
  padding: 11px 20px;
  border: 0;
  border-radius: 5px;
  color: #fff;
  background: #30343b;
  font-weight: 800;
  cursor: pointer;
}
.woocommerce #review_form #submit:hover,
.woocommerce button.button:hover, .woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover { color: #fff; background: var(--phs-red-dark); }
.woocommerce .quantity .qty {
  width: 64px;
  min-height: 46px;
  border: 1px solid #bfc2c7;
  border-radius: 5px;
  color: var(--phs-ink);
  background: #fff;
  font: 700 15px/1 "PHS Inter", Arial, sans-serif;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message,
.wc-block-components-notice-banner {
  padding: 16px 18px;
  border: 1px solid var(--phs-line);
  border-left: 4px solid var(--phs-blue);
  border-radius: 5px;
  background: var(--phs-surface);
  color: var(--phs-ink);
}
.woocommerce-message { border-left-color: var(--phs-green); }
.woocommerce-error { border-left-color: var(--phs-red); }
.phscoo-product-main .wp-block-woocommerce-related-products { margin-top: 58px; }
.phscoo-product-main .wp-block-woocommerce-related-products > h2 { margin: 0 0 24px !important; font-size: 29px; }
.phscoo-product-main .wp-block-woocommerce-related-products .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px;
}
.phscoo-product-main .wp-block-woocommerce-related-products .wc-block-product { width: auto !important; margin: 0 !important; }
.phscoo-product-main .wp-block-woocommerce-related-products .wp-block-button,
.phscoo-product-main .wp-block-woocommerce-related-products .wp-block-button__link { width: 100%; }

/* Match related-product cards to the main shop grid. */
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product-template > .wc-block-product {
  width: auto !important;
  min-width: 0;
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  margin: 0 !important;
  padding: 16px;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: #fff;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-components-product-image img {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  border: 0;
  border-radius: 0;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product > .wc-block-components-product-image,
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product > .wp-block-post-title { flex: 0 0 100%; }
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product > .wp-block-post-title {
  min-height: calc(1.4em * 3);
  display: block;
  margin: 19.92px 0 !important;
  overflow: visible;
  font-size: 24px !important;
  line-height: 1.4;
  -webkit-line-clamp: unset;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product > .wp-block-woocommerce-product-price {
  order: 1;
  flex: 0 0 100%;
  margin: 0 0 3px !important;
  font-size: 23px !important;
  line-height: 1.15;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price .wc-block-components-product-price { display: block; }
.phscoo-product-main > .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price .wc-block-components-product-price del,
.phscoo-product-main > .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price .wc-block-components-product-price ins { display: inline; color: var(--phs-red-dark); font-size: inherit; font-weight: inherit; line-height: inherit; }
.phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product > .wp-block-woocommerce-product-button {
  order: 3;
  flex: 0 0 100%;
  margin: 14px 0 0;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link {
  width: 100%;
  font-size: 13.3333px !important;
}
.phscoo-product-main > .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button button.add_to_cart_button { border-color: var(--phs-red); color: #fff; background: var(--phs-red); }
.phscoo-product-main > .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button button.add_to_cart_button:hover { border-color: var(--phs-red-dark); color: #fff; background: var(--phs-red-dark); }
.phscoo-product-main > .wp-block-woocommerce-product-collection button.add_to_cart_button > span[data-wp-text="state.addToCartText"]:empty::before {
  content: "In den Warenkorb";
}
@media (max-width: 900px) {
  .phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }
}
@media (max-width: 600px) {
  .phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: 1fr !important; }
  .phscoo-product-main > .wp-block-woocommerce-product-collection .wc-block-product > .wp-block-post-title { min-height: 0; }
}
.woocommerce-account .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
  width: min(100%, var(--phs-content));
  margin: 0 auto;
  padding: 48px 22px 88px;
}
.phscoo-cart-heading {
  width: min(100%, var(--phs-content));
  margin: 0 auto 30px;
  padding: 0;
}
.phscoo-cart-heading > .wp-block-post-title {
  max-width: none;
  margin: .55rem 0 0;
}
.phscoo-cart-back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--phs-red-dark);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.4;
  text-decoration: none;
}
.phscoo-cart-back:hover,
.phscoo-cart-back:focus-visible { color: var(--phs-red); text-decoration: underline; }
.phscoo-cart-back > span[aria-hidden="true"] { font-size: 1.15em; transition: transform .18s ease; }
.phscoo-cart-back:hover > span[aria-hidden="true"] { transform: translateX(-3px); }
.phscoo-checkout-back-wrap {
  width: min(100%, var(--phs-content));
  margin: 28px auto 10px;
}
.phscoo-checkout-back {
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--phs-line);
  border-radius: 8px;
  color: var(--phs-ink);
  background: #fff;
}
.phscoo-checkout-back:hover,
.phscoo-checkout-back:focus-visible {
  border-color: var(--phs-red);
  color: var(--phs-red-dark);
  background: #fff7f7;
  text-decoration: none;
}
html[dir="rtl"] .phscoo-checkout-back > span[aria-hidden="true"] { transform: rotate(180deg); }
html[dir="rtl"] .phscoo-checkout-back:hover > span[aria-hidden="true"] { transform: rotate(180deg) translateX(-3px); }

/* Keep cart recommendations compact when WooCommerce omits its grid class. */
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product {
  width: auto !important;
  min-width: 0;
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
  padding: 10px;
  border: 1px solid #dfe1e5;
  border-radius: 8px;
  background: #fff;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-image img {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wp-block-post-title {
  min-height: 3.9em;
  display: -webkit-box;
  margin: .65rem 0 .45rem;
  overflow: hidden;
  font-size: 14px !important;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price {
  margin-top: auto;
  font-size: 14px !important;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button,
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link {
  width: 100%;
  font-size: 12px !important;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection button.add_to_cart_button {
  border-color: var(--phs-red) !important;
  color: #fff !important;
  background: var(--phs-red) !important;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection button.add_to_cart_button:hover {
  border-color: var(--phs-red-dark) !important;
  background: var(--phs-red-dark) !important;
}
.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection button.add_to_cart_button > span[data-wp-text="state.addToCartText"]:empty::before {
  content: "In den Warenkorb";
}
.woocommerce-cart .wc-block-cart__submit-button {
  text-decoration: none !important;
}
@media (max-width: 700px) {
  .woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }
}
.phscoo-empty-cart { width: min(100%, 1120px); margin: 0 auto; }
.phscoo-empty-cart__hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.45fr);
  align-items: center;
  min-height: 390px;
  border: 1px solid #dfe1e5;
  border-radius: 24px;
  background: linear-gradient(118deg, #f1f3f5 0 34%, #fff 34% 100%);
  box-shadow: 0 24px 70px rgba(17,24,39,.09);
}
.phscoo-empty-cart__hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -110px;
  bottom: -155px;
  width: 360px;
  height: 360px;
  border: 62px solid rgba(239,27,35,.045);
  border-radius: 50%;
}
.phscoo-empty-cart__visual {
  position: relative;
  width: 260px;
  height: 260px;
  display: grid;
  place-items: center;
  justify-self: center;
}
.phscoo-empty-cart__orbit {
  position: absolute;
  inset: 22px;
  border: 1px dashed #afb4bb;
  border-radius: 50%;
}
.phscoo-empty-cart__visual::before {
  content: "";
  position: absolute;
  width: 174px;
  height: 174px;
  border-radius: 50%;
  background: var(--phs-red);
  box-shadow: 0 18px 42px rgba(239,27,35,.24);
}
.phscoo-empty-cart__visual svg { position: relative; width: 190px; height: 160px; overflow: visible; }
.phscoo-empty-cart__road { fill: none; stroke: rgba(255,255,255,.26); stroke-width: 22; stroke-linecap: round; }
.phscoo-empty-cart__cart,
.phscoo-empty-cart__motion { fill: none; stroke: #fff; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.phscoo-empty-cart__motion { stroke-width: 4; opacity: .78; }
.phscoo-empty-cart__copy { max-width: 650px; padding: 58px 64px 58px 36px; }
.phscoo-empty-cart__eyebrow {
  margin: 0 0 14px;
  color: var(--phs-red-dark);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.phscoo-empty-cart__copy h2 { max-width: 640px; margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; letter-spacing: -.035em; }
.phscoo-empty-cart__lead { max-width: 610px; margin: 22px 0 0; color: #555b64; font-size: 17px; line-height: 1.65; }
.phscoo-empty-cart__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.phscoo-empty-cart__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid var(--phs-ink);
  border-radius: 7px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.phscoo-empty-cart__button:hover { transform: translateY(-2px); }
.phscoo-empty-cart__button--primary { border-color: var(--phs-red); color: #fff; background: var(--phs-red); }
.phscoo-empty-cart__button--primary:hover { border-color: var(--phs-red-dark); color: #fff; background: var(--phs-red-dark); }
.phscoo-empty-cart__button--secondary { color: var(--phs-ink); background: #fff; }
.phscoo-empty-cart__button--secondary:hover { color: #fff; background: var(--phs-ink); }
.phscoo-empty-cart__benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.phscoo-empty-cart__benefits article { position: relative; min-height: 172px; padding: 28px 27px 25px; border: 1px solid #e1e3e6; border-radius: 14px; background: #fff; }
.phscoo-empty-cart__number { display: block; margin-bottom: 20px; color: var(--phs-red-dark); font-size: 12px; font-weight: 900; letter-spacing: .13em; }
.phscoo-empty-cart__benefits h3 { margin: 0; font-size: 19px; line-height: 1.25; }
.phscoo-empty-cart__benefits p { margin: 10px 0 0; color: var(--phs-muted); font-size: 14px; line-height: 1.55; }
.rtl .phscoo-empty-cart__copy { padding-right: 36px; padding-left: 64px; }
.phscoo-checkout-brand { margin: 0; line-height: 0; }
.phscoo-checkout-brand a { display: inline-flex; align-items: center; }
.phscoo-checkout-brand img { width: 138px; height: 50px; object-fit: contain; filter: invert(1); }
.woocommerce-account .entry-content > .woocommerce > h2 { margin: 0 0 24px; font-size: 38px; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon {
  max-width: 620px;
  margin: 0;
  padding: 26px;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: #fff;
  box-shadow: 0 14px 34px rgba(24,31,41,.06);
}
.woocommerce form .form-row label { margin-bottom: 7px; color: #30343a; font-size: 14px; font-weight: 750; }
.woocommerce form.login .form-row { margin-bottom: 18px; }
.woocommerce form.login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 12px 18px 0 0; }
.woocommerce form.login .woocommerce-form-login__rememberme input { margin: 0; }
.woocommerce .woocommerce-LostPassword { margin: 18px 0 0; }

/* Legal and policy pages */
.phscoo-legal-page { width: 100%; color: var(--phs-ink); background: #fff; }
.phscoo-legal-hero {
  width: 100%;
  padding: 76px max(22px, calc((100% - 1136px) / 2));
  border-bottom: 1px solid #dfe3e8;
  background: #f2f5f7;
}
.phscoo-legal-hero__eyebrow { margin: 0 0 13px; color: var(--phs-red-dark); font-size: 13px; font-weight: 850; text-transform: uppercase; }
.phscoo-legal-hero h1 { max-width: 920px; margin: 0; font-size: 58px; line-height: 1.04; }
.phscoo-legal-hero .lead { max-width: 780px; margin: 20px 0 0; color: #515861; font-size: 19px; line-height: 1.65; }
.phscoo-legal-hero__date { margin: 20px 0 0; color: #727881; font-size: 13px; font-weight: 750; }
.phscoo-legal-shell {
  width: min(100%, 1180px);
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 68px;
  margin: 0 auto;
  padding: 68px 22px 96px;
}
.phscoo-legal-toc {
  position: sticky;
  top: 100px;
  align-self: start;
  display: grid;
  gap: 5px;
  padding: 4px 0 4px 19px;
  border-left: 3px solid var(--phs-red);
}
.phscoo-legal-toc strong { margin-bottom: 8px; font-size: 13px; text-transform: uppercase; }
.phscoo-legal-toc a { padding: 5px 0; color: #555c65; font-size: 14px; font-weight: 700; text-decoration: none; }
.phscoo-legal-toc a:hover, .phscoo-legal-toc a:focus-visible { color: var(--phs-red-dark); text-decoration: underline; }
.phscoo-legal-content { min-width: 0; max-width: 830px; }
.phscoo-legal-section { padding: 0 0 42px; margin: 0 0 42px; border-bottom: 1px solid #e1e4e8; scroll-margin-top: 110px; }
.phscoo-legal-section:last-child { margin-bottom: 0; }
.phscoo-legal-kicker { margin: 0 0 10px; color: var(--phs-red-dark); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.phscoo-legal-section h2 { margin: 0 0 20px; font-size: 32px; line-height: 1.16; }
.phscoo-legal-section p { margin: 0 0 17px; color: #474e57; font-size: 16px; line-height: 1.72; }
.phscoo-legal-section p:last-child { margin-bottom: 0; }
.phscoo-legal-section ul, .phscoo-legal-section ol { display: grid; gap: 10px; margin: 18px 0; padding-left: 23px; color: #3f464f; }
.phscoo-legal-section li { padding-left: 4px; line-height: 1.62; }
.phscoo-legal-section a { color: #9e1823; font-weight: 750; text-underline-offset: 3px; }
.phscoo-legal-facts { margin: 24px 0 28px; border-top: 1px solid #dfe3e8; }
.phscoo-legal-facts > div { display: grid; grid-template-columns: minmax(160px, .32fr) minmax(0, .68fr); gap: 24px; padding: 14px 0; border-bottom: 1px solid #dfe3e8; }
.phscoo-legal-facts dt { color: #626973; font-size: 13px; font-weight: 800; }
.phscoo-legal-facts dd { min-width: 0; margin: 0; color: #292e35; line-height: 1.55; overflow-wrap: anywhere; }
.phscoo-legal-note { margin: 24px 0; padding: 18px 20px; border-left: 4px solid var(--phs-blue); border-radius: 0 6px 6px 0; background: #edf4ff; color: #253343; line-height: 1.65; }
.phscoo-legal-note--success { border-left-color: var(--phs-green); background: #eaf8f1; color: #163d2d; }
.phscoo-legal-table-wrap { max-width: 100%; margin: 25px 0; overflow-x: auto; border: 1px solid #d9dde2; border-radius: 6px; }
.phscoo-legal-table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; font-size: 14px; }
.phscoo-legal-table th, .phscoo-legal-table td { padding: 15px 16px; border-bottom: 1px solid #e1e4e8; text-align: left; vertical-align: top; line-height: 1.55; }
.phscoo-legal-table th { color: #fff; background: #24292f; font-size: 13px; }
.phscoo-legal-table tbody tr:last-child td { border-bottom: 0; }
.phscoo-legal-table code { color: #81202a; font-size: 12px; overflow-wrap: anywhere; }
.phscoo-account-entry {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}
.phscoo-account-discover,
.phscoo-account-login {
  min-width: 0;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: #fff;
  box-shadow: 0 16px 38px rgba(24,31,41,.08);
  overflow: hidden;
}
.phscoo-account-discover { display: grid; grid-template-rows: 230px 1fr; }
.phscoo-account-discover__media { min-height: 0; overflow: hidden; background: #e9eef3; }
.phscoo-account-discover__media img { width: 100%; height: 100%; display: block; padding: 10px; object-fit: contain; }
.phscoo-account-discover__content { padding: 28px; }
.phscoo-account-discover__eyebrow {
  margin: 0 0 10px;
  color: var(--phs-red-dark);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
}
.phscoo-account-discover h2,
.phscoo-account-login > h2 { margin: 0 0 14px; font-size: 36px; line-height: 1.08; }
.phscoo-account-discover__content > p:not(.phscoo-account-discover__eyebrow) { margin: 0; color: #555c65; font-size: 16px; line-height: 1.65; }
.phscoo-account-discover ul { display: grid; gap: 10px; margin: 22px 0 26px; padding: 0; list-style: none; }
.phscoo-account-discover li { display: flex; align-items: flex-start; gap: 9px; color: #30343a; font-weight: 700; line-height: 1.45; }
.phscoo-account-discover li .dashicons { width: 20px; height: 20px; margin-top: 1px; color: var(--phs-green); font-size: 20px; }
.phscoo-account-discover__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 20px;
  border-radius: 5px;
  background: var(--phs-red);
  color: #fff;
  font-weight: 850;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.phscoo-account-discover__button:hover,
.phscoo-account-discover__button:focus-visible { background: var(--phs-red-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 22px rgba(195,33,47,.22); }
.phscoo-account-login { padding: 32px; }
.woocommerce .phscoo-account-login form.login {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.phscoo-account-login .woocommerce-form-login__submit { min-width: 132px; }

/* Ratgeber hub and editorial article system. */
.phscoo-guide-hub-intro {
  width: min(100%, 1180px);
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(340px, .28fr);
  gap: 52px;
  align-items: start;
  margin: 0 auto;
  padding: 76px 22px 38px;
}
.phscoo-guide-hub-intro h2 { margin: 0 0 18px; font-size: 43px; line-height: 1.08; }
.phscoo-guide-hub-intro p { margin: 0; color: #555b64; font-size: 17px; line-height: 1.72; }
.phscoo-guide-hub-intro aside { padding: 26px; border-radius: 12px; color: #fff; background: #17191e; box-shadow: 0 20px 45px rgba(18,24,34,.16); }
.phscoo-guide-hub-intro aside span { display: block; margin-bottom: 10px; color: #ff6a70; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.phscoo-guide-hub-intro aside strong { display: block; margin-bottom: 10px; font-family: "PHS ABeeZee", sans-serif; font-size: 23px; line-height: 1.25; }
.phscoo-guide-hub-intro aside p { color: #c9ccd2; font-size: 14px; line-height: 1.55; }
.phscoo-guide-hub-intro aside a { display: inline-flex; margin-top: 18px; color: #ffd84c; font-weight: 850; text-decoration: none; }
.phscoo-guide-hub-intro aside a:hover { text-decoration: underline; }
.phscoo-guide-feed-section { width: min(100%, 1240px); margin: 0 auto; padding: 38px 22px 88px; }
.phscoo-guide-feed-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 0 30px; }
.phscoo-guide-feed-heading h2 { max-width: 740px; margin: 0; font-size: 42px; line-height: 1.08; }
.phscoo-guide-feed-heading p { max-width: 390px; margin: 0; color: #666c75; line-height: 1.55; }
.phscoo-guide-feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.phscoo-guide-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #e0e3e7; border-radius: 16px; background: #fff; box-shadow: 0 18px 40px rgba(20,27,37,.07); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.phscoo-guide-card:hover { transform: translateY(-5px); box-shadow: 0 26px 54px rgba(20,27,37,.13); }
.phscoo-guide-card__media { min-height: 220px; display: block; color: inherit; background: #e8ebef; overflow: hidden; }
.phscoo-guide-card__media img { width: 100%; height: 220px; object-fit: cover; transition: transform .4s ease; }
.phscoo-guide-card:hover .phscoo-guide-card__media img { transform: scale(1.035); }
.phscoo-guide-card__placeholder { min-height: 220px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #16191e, #333841); font-family: "PHS ABeeZee", sans-serif; font-size: 68px; }
.phscoo-guide-card__body { flex: 1; display: flex; flex-direction: column; padding: 25px; }
.phscoo-guide-card__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 15px; color: #9c1822; font-size: 11px; font-weight: 900; letter-spacing: .065em; text-transform: uppercase; }
.phscoo-guide-card__meta span + span { color: #757b84; }
.phscoo-guide-card h3 { margin: 0 0 13px; font-size: 25px; line-height: 1.22; }
.phscoo-guide-card h3 a { color: #191c21; text-decoration: none; }
.phscoo-guide-card h3 a:hover { color: var(--phs-red-dark); }
.phscoo-guide-card__body > p { margin: 0 0 23px; color: #5d636c; font-size: 14px; line-height: 1.62; }
.phscoo-guide-card__link { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; color: #a01620; font-weight: 900; text-decoration: none; }
.phscoo-guide-card__link span { transition: transform .2s ease; }
.phscoo-guide-card__link:hover span { transform: translateX(4px); }
.phscoo-guide-card--featured { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); }
.phscoo-guide-card--featured .phscoo-guide-card__media,
.phscoo-guide-card--featured .phscoo-guide-card__media img { min-height: 100%; height: 100%; }
.phscoo-guide-card--featured .phscoo-guide-card__body { padding: 34px; }
.phscoo-guide-card--featured h3 { font-size: 34px; }
.phscoo-guide-trust { width: min(100%, 1180px); display: grid; grid-template-columns: .72fr 1.28fr; gap: 58px; margin: 0 auto; padding: 72px 22px 92px; border-top: 1px solid #dfe3e8; }
.phscoo-guide-trust h2 { margin: 0; font-size: 39px; line-height: 1.1; }
.phscoo-guide-trust__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.phscoo-guide-trust__points article { padding-top: 18px; border-top: 3px solid var(--phs-red); }
.phscoo-guide-trust__points h3 { margin: 0 0 9px; font-size: 19px; }
.phscoo-guide-trust__points p { margin: 0; color: #5d636c; font-size: 14px; line-height: 1.6; }

.phscoo-guide-single { background: #fff; }
.phscoo-guide-single__hero { position: relative; width: 100%; padding: 78px max(22px, calc((100% - 1040px) / 2)) 68px; color: #fff; background: radial-gradient(circle at 82% 5%, rgba(239,27,35,.26), transparent 34%), linear-gradient(135deg, #111318, #232832); overflow: hidden; }
.phscoo-guide-single__hero::after { content: ""; position: absolute; right: -80px; bottom: -130px; width: 360px; height: 360px; border: 70px solid rgba(255,216,76,.08); border-radius: 50%; pointer-events: none; }
.phscoo-guide-single__hero > * { position: relative; z-index: 1; }
.phscoo-guide-single__eyebrow { margin: 0 0 18px; color: #ffd84c; font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.phscoo-guide-single__eyebrow a { color: inherit; text-decoration: none; }
.phscoo-guide-single__hero h1 { max-width: 940px; margin: 0; color: #fff; font-size: clamp(44px, 5.6vw, 72px); line-height: 1.01; letter-spacing: -.035em; }
.phscoo-guide-single__hero .wp-block-post-excerpt { max-width: 780px; margin: 23px 0 0; }
.phscoo-guide-single__hero .wp-block-post-excerpt__excerpt { margin: 0; color: #d2d5da; font-size: 19px; line-height: 1.65; }
.phscoo-guide-single__meta { gap: 14px 24px; margin-top: 25px; color: #aeb4bd; font-size: 13px; font-weight: 750; }
.phscoo-guide-single__meta p { margin: 0; }
.phscoo-guide-single__meta p + p::before { content: "•"; margin-right: 24px; color: #ff5f65; }
.phscoo-guide-single__image { width: min(calc(100% - 44px), 1180px); margin: -1px auto 0; }
.phscoo-guide-single__image img { width: 100%; max-height: 530px; object-fit: cover; border-radius: 0 0 16px 16px; }
.phscoo-guide-single__content { padding: 72px 22px 100px; }
.phscoo-guide-body { color: #30353c; }
.phscoo-guide-body > p:first-child { margin-top: 0; color: #4b515a; font-size: 20px; line-height: 1.7; }
.phscoo-guide-body h2 { margin: 58px 0 18px; color: #171a1f; font-size: 36px; line-height: 1.15; scroll-margin-top: 110px; }
.phscoo-guide-body h3 { margin: 32px 0 12px; color: #252930; font-size: 23px; }
.phscoo-guide-body p, .phscoo-guide-body li { font-size: 17px; line-height: 1.78; }
.phscoo-guide-body p { margin: 0 0 20px; }
.phscoo-guide-body ul, .phscoo-guide-body ol { display: grid; gap: 10px; margin: 22px 0 28px; padding-left: 24px; }
.phscoo-guide-body a { color: #9e1621; font-weight: 750; text-underline-offset: 3px; }
.phscoo-guide-answer { margin: 0 0 34px; padding: 25px 27px; border-left: 5px solid #ffd84c; border-radius: 0 10px 10px 0; background: #17191e; color: #fff; }
.phscoo-guide-answer strong { display: block; margin-bottom: 8px; color: #ffd84c; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.phscoo-guide-answer p { margin: 0; color: #eceef1; font-size: 17px; line-height: 1.65; }
.phscoo-guide-toc { margin: 34px 0 46px; padding: 25px 28px; border: 1px solid #dfe3e8; border-radius: 10px; background: #f5f6f8; }
.phscoo-guide-toc strong { display: block; margin-bottom: 12px; font-size: 14px; }
.phscoo-guide-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 30px; margin: 0; padding-left: 21px; }
.phscoo-guide-toc li, .phscoo-guide-toc a { font-size: 14px; line-height: 1.5; }
.phscoo-guide-note { margin: 32px 0; padding: 22px 24px; border: 1px solid #f0d889; border-radius: 10px; background: #fff8dc; }
.phscoo-guide-note--warning { border-color: #edb7ba; background: #fff0f1; }
.phscoo-guide-note strong { display: block; margin-bottom: 7px; color: #6d5310; }
.phscoo-guide-note--warning strong { color: #8f1720; }
.phscoo-guide-note p { margin: 0; font-size: 15px; line-height: 1.65; }
.phscoo-guide-table-wrap { max-width: 100%; margin: 30px 0; overflow-x: auto; border: 1px solid #dce0e4; border-radius: 10px; }
.phscoo-guide-table { width: 100%; min-width: 650px; border-collapse: collapse; background: #fff; font-size: 14px; }
.phscoo-guide-table th, .phscoo-guide-table td { padding: 15px 17px; border-bottom: 1px solid #e2e5e8; text-align: left; vertical-align: top; line-height: 1.55; }
.phscoo-guide-table th { color: #fff; background: #22262d; }
.phscoo-guide-table tr:last-child td { border-bottom: 0; }
.phscoo-guide-faq { margin-top: 58px; padding-top: 4px; }
.phscoo-guide-faq details { border-bottom: 1px solid #dfe3e8; }
.phscoo-guide-faq summary { padding: 19px 0; color: #20242a; cursor: pointer; font-family: "PHS ABeeZee", sans-serif; font-size: 18px; font-weight: 800; }
.phscoo-guide-faq details p { padding: 0 24px 20px 0; color: #555b64; font-size: 15px; }
.phscoo-guide-sources { margin-top: 54px; padding: 26px; border-radius: 10px; background: #f3f5f7; }
.phscoo-guide-sources h2 { margin: 0 0 14px; font-size: 24px; }
.phscoo-guide-sources ul { margin: 0; }
.phscoo-guide-sources li, .phscoo-guide-sources a { font-size: 13px; line-height: 1.55; }
.phscoo-guide-next { margin-top: 54px; padding: 34px; border-radius: 12px; color: #fff; background: var(--phs-red-dark); }
.phscoo-guide-next h2 { margin: 0 0 12px; color: #fff; font-size: 30px; }
.phscoo-guide-next p { color: #ffe7e8; }
.phscoo-guide-next a { display: inline-flex; margin-top: 6px; padding: 12px 18px; border-radius: 5px; color: #17191e; background: #ffd84c; font-weight: 900; text-decoration: none; }
.rtl .phscoo-guide-answer { border-right: 5px solid #ffd84c; border-left: 0; border-radius: 10px 0 0 10px; }
.rtl .phscoo-guide-body ul, .rtl .phscoo-guide-body ol { padding-right: 24px; padding-left: 0; }
.rtl .phscoo-guide-table th, .rtl .phscoo-guide-table td { text-align: right; }
.rtl .phscoo-guide-single__meta p + p::before { margin-right: 0; margin-left: 24px; }

.phscoo-footer { width: 100%; margin-top: auto; padding: 58px 22px 24px; background: #050505; color: #fff; }
.phscoo-footer { font-family: "PHS Cabin", Arial, Helvetica, sans-serif; }
.phscoo-footer__inner { width: min(100%, var(--phs-content)); margin: 0 auto; display: grid; grid-template-columns: 1.15fr 1fr 1fr 1.35fr; gap: 42px; }
.phscoo-footer__stack { display: grid; align-content: start; gap: 34px; }
.phscoo-footer h2 { margin: 0 0 18px; color: #fff; font-size: 17px; }
.phscoo-footer p { color: #c4c6ca; font-size: 14px; line-height: 1.6; }
.phscoo-footer a { color: #fff; text-decoration: none; }
.phscoo-footer a:hover { text-decoration: underline; }
.phscoo-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.phscoo-footer li { font-size: 14px; }
.phscoo-footer__logo { width: 138px; height: 50px; object-fit: contain; margin-bottom: 16px; }
.phscoo-footer-search { display: flex; width: 100%; max-width: 280px; margin: 0 0 18px; }
.phscoo-footer-search input { min-width: 0; min-height: 40px; flex: 1; padding: 8px 11px; border: 1px solid #737373; border-right: 0; border-radius: 4px 0 0 4px; background: #0d0d0d; color: #fff; font: inherit; }
.phscoo-footer-search input::placeholder { color: #bfc2c7; opacity: 1; }
.phscoo-footer-search button { min-height: 40px; padding: 8px 14px; border: 1px solid #ffd43b; border-radius: 0 4px 4px 0; background: #ffd43b; color: #141414; font-size: 13px; font-weight: 800; cursor: pointer; }
.phscoo-footer-search button:hover { border-color: #ffe06a; background: #ffe06a; }
.rtl .phscoo-footer-search input { border-right: 1px solid #737373; border-left: 0; border-radius: 0 4px 4px 0; }
.rtl .phscoo-footer-search button { border-radius: 4px 0 0 4px; }
.phscoo-newsletter-offer {
  display: grid;
  gap: 7px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.phscoo-newsletter-offer::after { display: none; }
.phscoo-newsletter-offer strong { color: #ff4249; font-size: 21px; line-height: 1.18; letter-spacing: -.02em; }
.phscoo-newsletter-offer span { color: #ffd43b; font-size: 13px; font-weight: 650; line-height: 1.5; }
.phscoo-newsletter { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; margin: 0 0 15px; }
.phscoo-newsletter input { min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid #737373; border-radius: 4px; background: #0d0d0d; color: #fff; }
.phscoo-newsletter input::placeholder { color: #bfc2c7; opacity: 1; }
.phscoo-newsletter .phscoo-pill { width: 100%; border-color: #ffd43b; border-radius: 4px; color: #141414; background: #ffd43b; }
.phscoo-newsletter .phscoo-pill:hover, .phscoo-newsletter .phscoo-pill:focus-visible { border-color: #ffe06a; color: #141414; background: #ffe06a; }
.phscoo-newsletter__consent { display: grid; grid-template-columns: 16px 1fr; align-items: start; gap: 7px; color: #bfc2c7; font-size: 11px; line-height: 1.4; }
.phscoo-newsletter__consent input { width: 15px; min-height: 15px; height: 15px; margin: 1px 0 0; padding: 0; accent-color: #ffd84c; }
.phscoo-newsletter__legal { display: block; margin-top: 3px; }
.phscoo-newsletter__legal a { color: #ffd43b; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.phscoo-newsletter__legal a:hover, .phscoo-newsletter__legal a:focus-visible { color: #fff; }
.phscoo-newsletter small { color: #9da1a8; font-size: 10px; line-height: 1.4; }
.phscoo-newsletter__status { margin: 10px 0 !important; padding: 9px 11px; border-radius: 4px; font-size: 12px !important; }
.phscoo-newsletter__status--success { color: #dff8e9 !important; background: #174c2d; }
.phscoo-newsletter__status--error { color: #ffe8e8 !important; background: #5a2026; }
.phscoo-footer__contact { margin-top: 16px; line-height: 1.75 !important; }
.phscoo-footer__contact a { font-weight: 700; }
.phscoo-payments__title { margin-top: 26px !important; margin-bottom: 7px !important; }
.phscoo-payments__label { margin: 0 !important; color: #c4c6ca; }
.phscoo-payments { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.phscoo-payments button { min-height: 28px; padding: 4px 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 3px; background: #fff; color: #151515; font-size: 10px; font-weight: 800; line-height: 1.2; cursor: pointer; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.phscoo-payments button:hover { border-color: #ffd43b; background: #ffd43b; transform: translateY(-1px); }
.phscoo-payment-modal { width: min(760px, calc(100% - 32px)); max-height: min(86vh, 760px); margin: auto; padding: 0; border: 0; border-radius: 12px; background: #fff; color: var(--phs-ink); box-shadow: 0 28px 90px rgba(0,0,0,.38); }
.phscoo-payment-modal::backdrop { background: rgba(5,5,5,.72); backdrop-filter: blur(3px); }
.phscoo-payment-modal__panel { position: relative; padding: clamp(28px, 5vw, 48px); }
.phscoo-payment-modal__close-form { position: absolute; top: 14px; right: 14px; margin: 0; }
.phscoo-payment-modal__close { width: 38px; height: 38px; padding: 0; border: 1px solid #d9dadd; border-radius: 50%; background: #fff; color: #151515; font-size: 25px; line-height: 1; cursor: pointer; }
.phscoo-payment-modal__close:hover { border-color: #151515; background: #f2f2f2; }
.phscoo-payment-modal__eyebrow { margin: 0 48px 8px 0 !important; color: var(--phs-red-dark); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.phscoo-payment-modal h2 { margin: 0 48px 12px 0; font-size: clamp(27px, 4vw, 38px); line-height: 1.08; }
.phscoo-payment-modal__intro { max-width: 640px; margin: 0 !important; color: #565b63; line-height: 1.6; }
.phscoo-footer .phscoo-payment-modal__eyebrow { color: var(--phs-red-dark); }
.phscoo-footer .phscoo-payment-modal h2 { color: var(--phs-ink); }
.phscoo-footer .phscoo-payment-modal__intro { color: #565b63; }
.phscoo-payment-modal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.phscoo-payment-modal__grid section { padding: 18px; border: 1px solid #e1e2e5; border-radius: 8px; background: #f7f7f8; }
.phscoo-payment-modal__grid h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.25; }
.phscoo-payment-modal__grid p { margin: 0; color: #555a62; font-size: 13px; line-height: 1.55; }
.phscoo-payment-modal__notice { margin-top: 14px; padding: 16px 18px; border-left: 4px solid #ffd43b; background: #fff8dc; }
.phscoo-payment-modal__notice strong { display: block; margin-bottom: 3px; }
.phscoo-payment-modal__notice p { margin: 0; color: #50545b; font-size: 13px; line-height: 1.5; }
.phscoo-payment-modal__actions { display: flex; justify-content: flex-end; margin-top: 20px; }
.phscoo-payment-modal__actions button { min-height: 42px; padding: 10px 22px; border: 1px solid #111; border-radius: 5px; background: #111; color: #fff; font-weight: 750; cursor: pointer; }
.phscoo-payment-modal__actions button:hover { background: var(--phs-red-dark); border-color: var(--phs-red-dark); }
@media (max-width: 680px) {
  .phscoo-payment-modal__grid { grid-template-columns: 1fr; }
  .phscoo-payment-modal__panel { padding: 28px 20px 22px; }
}
.phscoo-address-link { display: inline-block; text-decoration: none; }
.phscoo-address-link:hover { text-decoration: underline; }
.phscoo-footer__bottom { width: min(100%, var(--phs-content)); margin: 38px auto 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); display: flex; justify-content: space-between; gap: 20px; color: #aeb1b6; font-size: 13px; }
.phscoo-footer__legal { display: flex; flex-wrap: wrap; gap: 16px; }

.phscoo-contact-rail { position: fixed; right: 18px; bottom: 24px; z-index: 90; display: grid; gap: 9px; }
.phscoo-contact-rail a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(0,0,0,.1); border-radius: 50%; background: #fff; color: #111; box-shadow: 0 4px 18px rgba(0,0,0,.14); text-decoration: none; }
.phscoo-footer .phscoo-contact-rail a:hover,
.phscoo-footer .phscoo-contact-rail a:focus-visible { text-decoration: none; }
.phscoo-contact-rail__phone { background: var(--phs-green) !important; color: #fff !important; }
.phscoo-contact-rail__whatsapp { background: #25d366 !important; color: #072f16 !important; }
.phscoo-contact-rail .phscoo-fa-icon { width: 20px; height: 20px; }
.phscoo-contact-rail__email { background: #ff4d65 !important; color: #fff !important; }
.phscoo-contact-rail__contact { background: var(--phs-blue) !important; color: #fff !important; }

/* Austria e-scooter hub and regional guides */
.phscoo-austria-intro { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; align-items: start; }
.phscoo-austria-intro h2, .phscoo-austria-regions h2, .phscoo-austria-source h2, .phscoo-region-page h2 { margin: 0; text-align: left; }
.phscoo-region-page .phscoo-cta h2 { text-align: center; }
.phscoo-austria-intro__copy { padding-top: 28px; }
.phscoo-austria-intro__copy p { margin: 0 0 16px; color: #50555d; font-size: 17px; line-height: 1.7; }
.phscoo-austria-regions { padding: 78px 22px; color: #fff; background: #111317; }
.phscoo-austria-regions__inner { width: min(100%, 1180px); margin: 0 auto; }
.phscoo-austria-regions__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); gap: 55px; align-items: end; }
.phscoo-austria-regions__heading .phscoo-section__eyebrow { color: #ff666b; }
.phscoo-austria-regions__heading h2 { max-width: 720px; color: #fff; font-size: clamp(38px, 5vw, 62px); line-height: 1.04; }
.phscoo-austria-regions__heading > p { margin: 0; color: #bfc3ca; font-size: 16px; line-height: 1.65; }
.phscoo-austria-regions__layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 46px; margin-top: 52px; }
.phscoo-austria-map { position: relative; min-height: 520px; isolation: isolate; }
.phscoo-austria-map::before { content: ""; position: absolute; inset: 8% 2% 5%; z-index: -1; border: 1px solid rgba(255,255,255,.18); background: linear-gradient(135deg, #242830, #171a20); clip-path: polygon(2% 47%, 10% 36%, 19% 41%, 25% 26%, 38% 29%, 45% 16%, 57% 19%, 64% 8%, 77% 17%, 94% 12%, 98% 31%, 89% 42%, 94% 58%, 82% 66%, 74% 84%, 58% 77%, 49% 96%, 36% 84%, 24% 92%, 17% 72%, 5% 68%); box-shadow: inset 0 0 80px rgba(255,216,76,.06); }
.phscoo-austria-map a { position: absolute; left: var(--map-x); top: var(--map-y); z-index: 2; display: grid; justify-items: center; gap: 7px; color: #fff; text-decoration: none; transform: translate(-50%, -50%); }
.phscoo-austria-map a > span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 7px; border: 3px solid #111317; border-radius: 22px; color: #17120a; background: #ffd84c; box-shadow: 0 7px 20px rgba(0,0,0,.35); font-size: 11px; font-weight: 900; transition: transform .16s ease, background .16s ease; }
.phscoo-austria-map a strong { padding: 4px 7px; border-radius: 3px; background: rgba(8,9,11,.78); font-size: 11px; white-space: nowrap; }
.phscoo-austria-map a:hover > span, .phscoo-austria-map a:focus-visible > span { background: #ff6268; transform: scale(1.12); }
.phscoo-austria-list { border-top: 1px solid #3a3e45; }
.phscoo-austria-list > a { min-height: 69px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 13px; border-bottom: 1px solid #3a3e45; color: #fff; text-decoration: none; }
.phscoo-austria-list > a:hover { color: #ffd84c; }
.phscoo-austria-list__number { color: #777d87; font-size: 12px; font-weight: 800; }
.phscoo-austria-list strong { display: block; font-size: 16px; }
.phscoo-austria-list small { display: block; margin-top: 3px; color: #aeb3bc; font-size: 12px; }
.phscoo-austria-rule-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 42px; }
.phscoo-austria-rule-grid article { padding: 25px 22px; border: 1px solid #dfe1e5; border-radius: 9px; background: #f7f8f9; }
.phscoo-austria-rule-grid article > strong { display: block; margin-bottom: 24px; color: var(--phs-red-dark); font-family: "PHS ABeeZee", sans-serif; font-size: 31px; line-height: 1; }
.phscoo-austria-rule-grid h3 { margin: 0 0 8px; font-size: 17px; }
.phscoo-austria-rule-grid p { margin: 0; color: #5c6169; font-size: 14px; line-height: 1.55; }
.phscoo-austria-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-top: 0; }
.phscoo-austria-rules > div { padding: 34px; border-radius: 10px; color: #fff; background: #202329; }
.phscoo-austria-rules > div:last-child { color: #171717; background: #ffd84c; }
.phscoo-austria-rules h2 { margin-bottom: 23px; color: inherit; font-size: 28px; }
.phscoo-austria-rules ul { margin: 0; padding-left: 20px; }
.phscoo-austria-rules li { margin: 9px 0; line-height: 1.55; }
.phscoo-austria-source { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 60px; align-items: center; border-top: 1px solid var(--phs-line); }
.phscoo-austria-source h2 { margin-bottom: 15px; }
.phscoo-austria-source p { color: #585d65; line-height: 1.65; }
.phscoo-region-hero { position: relative; overflow: hidden; padding: 92px 22px 78px; color: #fff; background: radial-gradient(circle at 82% 25%, rgba(255,216,76,.18), transparent 28%), linear-gradient(125deg, #111318 0 62%, #7b0c12 100%); }
.phscoo-region-hero::after { content: ""; position: absolute; right: -80px; bottom: -130px; width: 440px; height: 440px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.025), 0 0 0 96px rgba(255,255,255,.02); }
.phscoo-region-hero--city { background: radial-gradient(circle at 78% 28%, rgba(255,216,76,.19), transparent 26%), linear-gradient(125deg, #111318 0 58%, #263142 100%); }
.phscoo-region-hero__inner { position: relative; z-index: 1; width: min(100%, 1080px); margin: 0 auto; }
.phscoo-region-hero__eyebrow { margin: 0 0 14px; color: #ff777c; font-size: 13px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.phscoo-region-hero h1 { max-width: 860px; margin: 0; color: #fff; font-size: clamp(48px, 7vw, 82px); line-height: 1.02; letter-spacing: -.035em; }
.phscoo-region-hero .lead { max-width: 790px; margin: 22px 0 0; color: #d4d7dc; font-size: 18px; line-height: 1.65; }
.phscoo-region-hero__facts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 34px; }
.phscoo-region-hero__facts span { min-width: 180px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; background: rgba(255,255,255,.07); }
.phscoo-region-hero__facts small, .phscoo-region-hero__facts strong { display: block; }
.phscoo-region-hero__facts small { margin-bottom: 3px; color: #aeb4be; font-size: 11px; text-transform: uppercase; }
.phscoo-region-hero__facts strong { color: #fff; font-size: 14px; }
.phscoo-region-hero__cta { display: inline-flex; align-items: center; gap: 18px; margin-top: 25px; padding: 12px 18px; border-radius: 5px; color: #111; background: #ffd84c; font-weight: 850; text-decoration: none; }
.phscoo-region-summary { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 70px; }
.phscoo-region-summary > div:last-child { padding-top: 28px; }
.phscoo-region-summary p { color: #555b63; font-size: 16px; line-height: 1.7; }
.phscoo-region-check { padding-top: 20px; }
.phscoo-region-check > ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 38px 0 0; padding: 0; list-style: none; }
.phscoo-region-check li { padding: 24px; border: 1px solid #dfe1e5; border-radius: 9px; }
.phscoo-region-check li > span { display: block; margin-bottom: 28px; color: var(--phs-red-dark); font-size: 12px; font-weight: 900; }
.phscoo-region-check h3 { margin: 0 0 8px; }
.phscoo-region-check p { margin: 0; color: #5b6068; line-height: 1.6; }
.phscoo-region-city-card { padding: 70px 22px; color: #171717; background: #ffd84c; }
.phscoo-region-city-card > div { width: min(100%, 860px); margin: 0 auto; text-align: center; }
.phscoo-region-city-card h2 { font-size: clamp(37px, 5vw, 58px); text-align: center; }
.phscoo-region-city-card p { max-width: 720px; margin: 17px auto; font-size: 17px; line-height: 1.65; }
.phscoo-region-city-card a { display: inline-flex; gap: 15px; margin-top: 7px; color: #111; font-weight: 900; }
.phscoo-region-neighbours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding-top: 30px; }
.phscoo-region-neighbours--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.phscoo-region-neighbours a { padding: 18px; border: 1px solid #dfe1e5; border-radius: 7px; text-decoration: none; }
.phscoo-region-neighbours a:hover { border-color: var(--phs-red); }
.phscoo-region-neighbours small, .phscoo-region-neighbours strong { display: block; }
.phscoo-region-neighbours small { margin-bottom: 5px; color: #777c83; font-size: 11px; text-transform: uppercase; }
.phscoo-region-neighbours strong { font-size: 15px; }
.phscoo-city-guide { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 50px; }
.phscoo-city-guide__main > ul { margin: 30px 0; padding: 0; list-style: none; }
.phscoo-city-guide__main > ul li { position: relative; margin: 0; padding: 15px 10px 15px 35px; border-bottom: 1px solid #e0e2e5; line-height: 1.55; }
.phscoo-city-guide__main > ul li::before { content: "✓"; position: absolute; left: 4px; top: 14px; color: var(--phs-red-dark); font-weight: 900; }
.phscoo-city-guide__source { padding: 18px 20px; border-left: 4px solid var(--phs-red); background: #f5f6f7; }
.phscoo-city-guide__source span, .phscoo-city-guide__source a { display: block; }
.phscoo-city-guide__source > span { margin-bottom: 5px; color: #666b73; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.phscoo-city-guide__source a { color: var(--phs-red-dark); font-weight: 850; }
.phscoo-city-guide aside { align-self: start; padding: 27px; border-radius: 10px; color: #fff; background: #17191e; }
.phscoo-city-guide aside h2 { color: #fff; font-size: 27px; }
.phscoo-city-guide dl { margin: 20px 0 0; }
.phscoo-city-guide dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid #363a42; }
.phscoo-city-guide dt { color: #aeb4bd; font-size: 12px; }
.phscoo-city-guide dd { margin: 0; color: #fff; font-size: 12px; font-weight: 800; text-align: right; }
.phscoo-city-rules { padding-top: 10px; }
.phscoo-city-rules > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 35px; }
.phscoo-city-rules article { padding: 24px; border-radius: 8px; background: #f3f4f6; }
.phscoo-city-rules h3 { margin: 0 0 8px; }
.phscoo-city-rules p { margin: 0; color: #5b6068; line-height: 1.6; }
.phscoo-region-source-note { width: min(100%, 900px); padding-top: 10px; }
.phscoo-region-source-note h2 { font-size: 29px; }
.phscoo-region-source-note p { color: #5b6068; line-height: 1.65; }
.rtl .phscoo-city-guide__main > ul li { padding-right: 35px; padding-left: 10px; }
.rtl .phscoo-city-guide__main > ul li::before { right: 4px; left: auto; }
.rtl .phscoo-city-guide__source { border-right: 4px solid var(--phs-red); border-left: 0; }
.rtl .phscoo-city-guide dd { text-align: left; }

@media (max-width: 900px) {
  .phscoo-austria-intro, .phscoo-austria-regions__heading, .phscoo-austria-regions__layout, .phscoo-austria-source, .phscoo-region-summary, .phscoo-city-guide { grid-template-columns: 1fr; gap: 28px; }
  .phscoo-austria-map { min-height: 480px; }
  .phscoo-austria-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-region-summary > div:last-child, .phscoo-austria-intro__copy { padding-top: 0; }
}

@media (max-width: 620px) {
  .phscoo-austria-regions { padding: 58px 16px; }
  .phscoo-austria-map { display: none; }
  .phscoo-austria-rule-grid, .phscoo-austria-rules, .phscoo-region-check > ol, .phscoo-region-neighbours, .phscoo-region-neighbours--two, .phscoo-city-rules > div { grid-template-columns: 1fr; }
  .phscoo-region-hero { padding: 66px 18px 54px; }
  .phscoo-region-hero h1 { font-size: 45px; }
  .phscoo-region-hero__facts { display: grid; grid-template-columns: 1fr; }
  .phscoo-region-hero__facts span { min-width: 0; }
}

/* Search results */
.phscoo-search-page { background: #fff; }
.phscoo-search-hero { width: 100%; padding: 76px max(22px, calc((100% - 1136px) / 2)); background: #f1f3f6; border-bottom: 1px solid #dfe2e7; }
.phscoo-search-hero__eyebrow { margin: 0 0 12px; color: var(--phs-red-dark); font-size: 13px; font-weight: 850; text-transform: uppercase; }
.phscoo-search-hero h1 { margin: 0; font-size: 54px; line-height: 1.06; }
.phscoo-search-hero > p:not(.phscoo-search-hero__eyebrow) { max-width: 680px; margin: 18px 0 28px; color: #565b63; font-size: 18px; line-height: 1.65; }
.phscoo-search-form { max-width: 780px; }
.phscoo-search-form .wp-block-search__inside-wrapper { min-height: 58px; padding: 5px; border: 1px solid #bfc4cc; border-radius: 7px; background: #fff; box-shadow: 0 16px 36px rgba(24,31,41,.08); }
.phscoo-search-form .wp-block-search__input { min-width: 0; padding: 10px 14px; border: 0; color: var(--phs-ink); font-size: 17px; }
.phscoo-search-form .wp-block-search__input:focus { outline: 0; }
.phscoo-search-form .wp-block-search__button { width: 48px; min-width: 48px; margin: 0; display: grid; place-items: center; border: 0; border-radius: 5px; background: #191c21; color: #fff; }
.phscoo-search-results { width: min(100%, 980px); margin: 0 auto; padding: 64px 22px 90px; }
.phscoo-search-results__title { margin: 0 0 32px; font-size: 30px; line-height: 1.25; }
.phscoo-search-list { display: grid !important; gap: 0; margin: 0; padding: 0; border-bottom: 1px solid #dfe2e7; list-style: none; }
.phscoo-search-list > li { margin: 0; border-top: 1px solid #dfe2e7; }
.phscoo-search-card { min-height: 0; padding: 28px 4px; background: #fff; }
.phscoo-search-card__terms { min-height: 18px; margin: 0 0 8px; color: var(--phs-red-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.phscoo-search-card h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.25; }
.phscoo-search-card h2 a { color: var(--phs-ink); text-decoration: none; }
.phscoo-search-card h2 a:hover { color: var(--phs-red-dark); }
.phscoo-search-card .wp-block-post-excerpt { margin: 0; }
.phscoo-search-card .wp-block-post-excerpt__excerpt { max-width: 780px; margin: 0 0 10px; color: var(--phs-muted); font-size: 15px; line-height: 1.6; }
.phscoo-search-card .wp-block-post-excerpt__more-link { min-height: 0; display: inline; margin: 0; padding: 0; border: 0; border-radius: 0; color: var(--phs-red-dark); background: transparent; font-weight: 800; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.phscoo-search-card .wp-block-post-excerpt__more-link:hover { color: var(--phs-red); background: transparent; }
.phscoo-search-pagination { margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--phs-line); }
.phscoo-search-pagination a { color: var(--phs-ink); font-weight: 750; }
.phscoo-search-empty { padding: 36px; border: 1px solid #dfe2e7; border-left: 5px solid var(--phs-red); border-radius: 7px; background: #f7f8fa; }
.phscoo-search-empty h2 { margin-top: 0; }

/* 404 */
.phscoo-404 { width: 100%; padding: 48px 22px 88px; background: #f7f8fa; }
.phscoo-404__hero {
  position: relative;
  overflow: hidden;
  width: min(100%, 1120px);
  min-height: 500px;
  align-items: center;
  gap: 0;
  margin: 0 auto;
  border: 1px solid #dfe2e6;
  border-radius: 24px;
  background: linear-gradient(118deg, #e9ecef 0 42%, #fff 42% 100%);
  box-shadow: 0 24px 70px rgba(17,24,39,.09);
}
.phscoo-404__visual { position: relative; min-height: 500px; display: grid; place-items: center; }
.phscoo-404__visual::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: var(--phs-red);
  box-shadow: 0 22px 55px rgba(239,27,35,.24);
}
.phscoo-404__orbit { position: absolute; width: 360px; height: 360px; border: 1px dashed #aeb4bc; border-radius: 50%; }
.phscoo-404__code { position: relative; z-index: 2; color: #fff; font: 900 94px/1 "PHS ABeeZee", Arial, sans-serif; letter-spacing: -.08em; }
.phscoo-404__visual svg { position: absolute; z-index: 1; width: 330px; height: 230px; overflow: visible; opacity: .3; }
.phscoo-404__route { fill: none; stroke: #fff; stroke-width: 7; stroke-dasharray: 7 12; stroke-linecap: round; }
.phscoo-404__route-dot { fill: none; stroke: #fff; stroke-width: 17; stroke-linecap: round; }
.phscoo-404__marker { position: absolute; z-index: 3; top: 98px; right: 84px; width: 22px; height: 22px; border: 6px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.phscoo-404__copy { max-width: 650px; padding: 64px 68px 64px 38px; }
.phscoo-404__eyebrow { margin: 0 0 14px; color: var(--phs-red-dark); font-size: 13px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.phscoo-404__copy h1 { margin: 0; font-size: clamp(40px, 4.4vw, 62px); line-height: 1.02; letter-spacing: -.045em; }
.phscoo-404__lead { margin: 24px 0 0; color: #555c65; font-size: 17px; line-height: 1.68; }
.phscoo-404__actions { gap: 12px; margin-top: 32px; }
.phscoo-404__actions .wp-block-button__link { min-height: 49px; display: inline-flex; align-items: center; padding: 12px 23px; border: 1px solid var(--phs-ink); border-radius: 7px; font-size: 14px; font-weight: 800; transition: transform .18s ease, background-color .18s ease; }
.phscoo-404__actions .wp-block-button__link:hover { transform: translateY(-2px); }
.phscoo-404__button--primary .wp-block-button__link { border-color: var(--phs-red); color: #fff; background: var(--phs-red); }
.phscoo-404__button--primary .wp-block-button__link:hover { background: var(--phs-red-dark); }
.phscoo-404__button--secondary .wp-block-button__link { color: var(--phs-ink); background: #fff; }
.phscoo-404__button--secondary .wp-block-button__link:hover { color: #fff; background: var(--phs-ink); }
.phscoo-404__search {
  width: min(100%, 1120px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  align-items: center;
  gap: 48px;
  margin: 18px auto 0;
  padding: 34px 38px;
  border-radius: 15px;
  color: #fff;
  background: var(--phs-ink);
}
.phscoo-404__search-copy h2 { margin: 0; font-size: 27px; }
.phscoo-404__search-copy p { margin: 8px 0 0; color: #c9cdd2; font-size: 14px; line-height: 1.55; }
.phscoo-404__search-form { margin: 0; }
.phscoo-404__search-form .wp-block-search__inside-wrapper { min-height: 54px; padding: 5px; border: 0; border-radius: 8px; background: #fff; }
.phscoo-404__search-form .wp-block-search__input { min-width: 0; padding: 11px 13px; border: 0; border-radius: 5px; color: var(--phs-ink); background: transparent; font-size: 15px; }
.phscoo-404__search-form .wp-block-search__button { width: 44px; min-width: 44px; margin: 0; padding: 0; border: 0; border-radius: 6px; color: #fff; background: var(--phs-red); }
.phscoo-404__routes { width: min(100%, 1120px); margin: 54px auto 0; }
.phscoo-404__routes > h2 { margin: 0 0 20px; font-size: 28px; }
.phscoo-404__route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.phscoo-404__route-grid a { min-height: 190px; display: flex; flex-direction: column; padding: 29px 27px; border: 1px solid #dfe2e6; border-radius: 14px; color: var(--phs-ink); background: #fff; text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.phscoo-404__route-grid a:hover { transform: translateY(-4px); border-color: #c9cdd2; box-shadow: 0 16px 35px rgba(17,24,39,.08); }
.phscoo-404__route-grid span { margin-bottom: auto; color: var(--phs-red-dark); font-size: 12px; font-weight: 900; letter-spacing: .13em; }
.phscoo-404__route-grid strong { margin-top: 25px; font-family: "PHS ABeeZee", Arial, sans-serif; font-size: 20px; line-height: 1.25; }
.phscoo-404__route-grid small { margin-top: 10px; color: var(--phs-muted); font-size: 14px; line-height: 1.55; }
.rtl .phscoo-404__copy { padding-right: 38px; padding-left: 68px; }
.rtl .phscoo-404__marker { right: auto; left: 84px; }

@media (max-width: 1180px) {
  .phscoo-nav { gap: 18px; }
  .phscoo-language-switcher { display: none; }
}

@media (max-width: 1050px) {
  .phscoo-icon-link { display: none; }
  .phscoo-shop-picks__heading { grid-template-columns: 1fr; gap: 12px; }
  .phscoo-shop-picks__grid { grid-template-columns: 1fr 1fr; }
  .phscoo-shop-pick:last-child { grid-column: 1 / -1; }
  .phscoo-shop-filters__form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .phscoo-shop-filters__form button { width: 100%; }
}

@media (max-width: 900px) {
  body.admin-bar .phscoo-header { top: 46px; }
  .phscoo-guide-hub-intro, .phscoo-guide-trust { grid-template-columns: 1fr; gap: 30px; }
  .phscoo-guide-feed-heading { display: grid; align-items: start; }
  .phscoo-guide-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-guide-card--featured { grid-column: 1 / -1; }
  .phscoo-guide-single__hero { padding-block: 64px 56px; }
  .phscoo-header__bar { min-height: 58px; padding: 0 16px; }
  .phscoo-brand img { width: 108px; height: 40px; }
  .phscoo-nav, .phscoo-header__actions { display: none; }
  .phscoo-legal-hero { padding: 58px 20px; }
  .phscoo-legal-hero h1 { font-size: 46px; }
  .phscoo-legal-shell { grid-template-columns: 1fr; gap: 42px; padding: 50px 20px 76px; }
  .phscoo-legal-toc { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
  .phscoo-legal-toc strong { grid-column: 1 / -1; }
  .phscoo-legal-content { max-width: none; }
  .phscoo-account-entry { grid-template-columns: 1fr; gap: 22px; }
  .phscoo-mobile-nav { display: block; }
  .phscoo-hero { min-height: 670px; padding: 60px 18px 38px; background-image: url("assets/images/home-hero-mobile-900.webp"); background-position: center center; }
  .phscoo-hero__content { margin-top: 80px; }
  .phscoo-kicker { font-size: 20px; }
  .phscoo-hero h1 { font-size: 52px; }
  .phscoo-hero__actions { margin-top: 38px; }
  .phscoo-section { padding: 58px 18px; }
  .phscoo-section h2 { margin-bottom: 36px; font-size: 36px; }
  .phscoo-concerns { grid-template-columns: 1fr; gap: 38px; }
  .phscoo-concerns__image { height: 520px; }
  .phscoo-showcase { padding: 0 16px 54px; gap: 16px; }
  .phscoo-visual-panel { min-height: 400px; }
  .phscoo-showcase__duo { grid-template-columns: 1fr; gap: 16px; }
  .phscoo-product-grid, .phscoo-resource-grid, .woocommerce ul.products { grid-template-columns: 1fr; }
  .phscoo-product-feed,
  .phscoo-product-feed--columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-support-grid { grid-template-columns: 1fr; }
  .phscoo-support-copy { padding: 12px 0 28px; }
  .phscoo-local-band .phscoo-section { grid-template-columns: 1fr; gap: 36px; }
  .phscoo-local-details { padding-left: 0; padding-top: 26px; border-left: 0; border-top: 1px solid #3b3b3b; }
  .phscoo-footer__inner { grid-template-columns: 1fr 1fr; }
  .phscoo-prose-grid, .phscoo-prose-grid:has(> article:nth-child(3)), .phscoo-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-related-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-experience--layout-catalog .phscoo-experience__band--intro,
  .phscoo-experience--layout-workbench .phscoo-experience__band--intro,
  .phscoo-experience--layout-editorial .phscoo-experience__band--intro { grid-template-columns: 1fr; gap: 42px; }
  .phscoo-experience--layout-catalog .phscoo-experience__header { position: static; }
  .phscoo-experience--layout-workbench .phscoo-experience__band--intro,
  .phscoo-experience--layout-workbench .phscoo-experience__band--details,
  .phscoo-experience--layout-network .phscoo-experience__band--intro { padding-inline: 20px; }
  .phscoo-detail-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-route-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-experience__nav { top: 58px; justify-content: flex-start; }
  .phscoo-experience__nav span { display: none; }
  .phscoo-experience__band { padding: 68px 20px; scroll-margin-top: 110px; }
  .phscoo-experience__band--steps, .phscoo-experience__band--next { padding-inline: 20px; }
  .phscoo-experience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-experience__split-heading { grid-template-columns: 1fr; gap: 14px; margin-bottom: 36px; }
  .phscoo-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .phscoo-steps li:not(:last-child)::after { display: none; }
  .phscoo-route-switcher { grid-template-columns: 1fr; }
  .phscoo-route-switcher__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .phscoo-route-switcher__tabs button { justify-content: center; text-align: center; }
  .phscoo-action-hero { background-position: 92% 60%; background-size: 660px auto; }
  .phscoo-action-hero h1 { max-width: 560px; }
  .phscoo-action-hero__lead { max-width: 520px; }
  .phscoo-action-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phscoo-action-product { grid-template-columns: 1fr; }
  .phscoo-action-product__media, .phscoo-action-product__media img { min-height: 520px; height: 520px; }
  .phscoo-action-product__copy { max-width: 760px; }
  .phscoo-empty-cart__hero { grid-template-columns: 210px minmax(0, 1fr); }
  .phscoo-empty-cart__visual { width: 210px; height: 230px; }
  .phscoo-empty-cart__visual::before { width: 145px; height: 145px; }
  .phscoo-empty-cart__visual svg { width: 160px; height: 138px; }
  .phscoo-empty-cart__copy,
  .rtl .phscoo-empty-cart__copy { padding: 42px 32px; }
  .phscoo-empty-cart__copy h2 { font-size: 36px; }
  .phscoo-404__hero { grid-template-columns: 230px minmax(0, 1fr); min-height: 440px; }
  .phscoo-404__visual { min-height: 440px; }
  .phscoo-404__visual::before { width: 190px; height: 190px; }
  .phscoo-404__orbit { width: 220px; height: 220px; }
  .phscoo-404__code { font-size: 62px; }
  .phscoo-404__visual svg { width: 210px; }
  .phscoo-404__marker { top: 115px; right: 28px; }
  .rtl .phscoo-404__marker { right: auto; left: 28px; }
  .phscoo-404__copy,
  .rtl .phscoo-404__copy { padding: 48px 34px; }
  .phscoo-404__copy h1 { font-size: 42px; }
  .phscoo-404__search { grid-template-columns: 1fr; gap: 22px; }
  .phscoo-404__route-grid { grid-template-columns: 1fr; }
  .phscoo-404__route-grid a { min-height: 150px; }
}

@media (max-width: 600px) {
  .phscoo-guide-hub-intro { padding: 54px 18px 26px; }
  .phscoo-guide-hub-intro h2, .phscoo-guide-feed-heading h2 { font-size: 34px; }
  .phscoo-guide-feed-section { padding: 30px 14px 68px; }
  .phscoo-guide-feed { grid-template-columns: 1fr; gap: 17px; }
  .phscoo-guide-card--featured { display: flex; grid-column: auto; }
  .phscoo-guide-card--featured .phscoo-guide-card__media,
  .phscoo-guide-card--featured .phscoo-guide-card__media img { min-height: 220px; height: 220px; }
  .phscoo-guide-card--featured .phscoo-guide-card__body { padding: 25px; }
  .phscoo-guide-card--featured h3, .phscoo-guide-card h3 { font-size: 24px; }
  .phscoo-guide-trust { padding: 54px 18px 70px; }
  .phscoo-guide-trust h2 { font-size: 32px; }
  .phscoo-guide-trust__points { grid-template-columns: 1fr; }
  .phscoo-guide-single__hero { padding: 52px 18px 46px; }
  .phscoo-guide-single__hero h1 { font-size: 42px; }
  .phscoo-guide-single__hero .wp-block-post-excerpt__excerpt { font-size: 16px; }
  .phscoo-guide-single__meta p + p::before { margin-right: 12px; }
  .phscoo-guide-single__image { width: 100%; }
  .phscoo-guide-single__image img { min-height: 250px; border-radius: 0; }
  .phscoo-guide-single__content { padding: 50px 18px 74px; }
  .phscoo-guide-body > p:first-child { font-size: 18px; }
  .phscoo-guide-body h2 { margin-top: 46px; font-size: 30px; }
  .phscoo-guide-body p, .phscoo-guide-body li { font-size: 16px; }
  .phscoo-guide-toc ol { grid-template-columns: 1fr; }
  .phscoo-guide-answer, .phscoo-guide-toc, .phscoo-guide-next { padding: 22px 20px; }
  .phscoo-shop-main, .phscoo-product-main { padding-inline: 16px; }
  .woocommerce-account .entry-content,
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content { padding: 34px 16px 64px; }
  .phscoo-empty-cart__hero { grid-template-columns: 1fr; min-height: 0; background: linear-gradient(180deg, #f1f3f5 0 35%, #fff 35% 100%); }
  .phscoo-empty-cart__visual { width: 220px; height: 210px; }
  .phscoo-empty-cart__orbit { inset: 19px 24px; }
  .phscoo-empty-cart__visual::before { width: 145px; height: 145px; }
  .phscoo-empty-cart__visual svg { width: 160px; height: 138px; }
  .phscoo-empty-cart__copy,
  .rtl .phscoo-empty-cart__copy { padding: 34px 24px 36px; }
  .phscoo-empty-cart__copy h2 { font-size: 34px; }
  .phscoo-empty-cart__lead { font-size: 15px; }
  .phscoo-empty-cart__actions { display: grid; grid-template-columns: 1fr; }
  .phscoo-empty-cart__benefits { grid-template-columns: 1fr; }
  .phscoo-empty-cart__benefits article { min-height: 0; }
  .phscoo-404 { padding: 34px 16px 64px; }
  .phscoo-404__hero { grid-template-columns: 1fr; min-height: 0; background: linear-gradient(180deg, #e9ecef 0 35%, #fff 35% 100%); }
  .phscoo-404__visual { min-height: 250px; }
  .phscoo-404__visual::before { width: 170px; height: 170px; }
  .phscoo-404__orbit { width: 205px; height: 205px; }
  .phscoo-404__visual svg { width: 190px; height: 160px; }
  .phscoo-404__marker { top: 45px; right: 68px; }
  .rtl .phscoo-404__marker { right: auto; left: 68px; }
  .phscoo-404__copy,
  .rtl .phscoo-404__copy { padding: 36px 24px 40px; }
  .phscoo-404__copy h1 { font-size: 38px; }
  .phscoo-404__lead { font-size: 15px; }
  .phscoo-404__actions { display: grid; grid-template-columns: 1fr; }
  .phscoo-404__actions .wp-block-button,
  .phscoo-404__actions .wp-block-button__link { width: 100%; }
  .phscoo-404__search { padding: 29px 23px; }
  .phscoo-404__search-form .wp-block-search__inside-wrapper { min-height: 50px; }
  .phscoo-404__routes { margin-top: 42px; }
  .phscoo-checkout-brand img { width: 116px; height: 42px; }
  .woocommerce-account .entry-content > .woocommerce > h2 { font-size: 32px; }
  .woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon { padding: 20px; }
  .phscoo-shop-picks { margin-top: 22px; padding: 20px 16px; border-radius: 16px; }
  .phscoo-shop-picks__grid { grid-template-columns: 1fr; }
  .phscoo-product-feed,
  .phscoo-product-feed--columns-2,
  .phscoo-product-feed--columns-4 { grid-template-columns: 1fr; }
  .phscoo-product-feed .phscoo-product-card h3,
  .phscoo-product-feed .phscoo-product-card__description { min-height: 0; }
  .phscoo-shop-pick:last-child { grid-column: auto; }
  .phscoo-shop-pick__content h3, .phscoo-shop-pick__content > p, .phscoo-shop-pick__content ul { min-height: 0; }
  .phscoo-shop-filters { padding: 17px; }
  .phscoo-shop-filters__heading { align-items: flex-start; flex-direction: column; }
  .phscoo-shop-filters__form { grid-template-columns: 1fr; }
  .phscoo-legal-hero { padding: 46px 17px; }
  .phscoo-legal-hero h1 { font-size: 38px; }
  .phscoo-legal-hero .lead { font-size: 16px; }
  .phscoo-legal-shell { padding: 38px 17px 64px; }
  .phscoo-legal-toc { grid-template-columns: 1fr; }
  .phscoo-legal-section { padding-bottom: 32px; margin-bottom: 32px; }
  .phscoo-legal-section h2 { font-size: 27px; }
  .phscoo-legal-facts > div { grid-template-columns: 1fr; gap: 5px; }
  .phscoo-account-entry { grid-template-columns: 1fr; gap: 20px; }
  .phscoo-account-discover { grid-template-rows: 190px 1fr; }
  .phscoo-account-discover__content, .phscoo-account-login { padding: 22px; }
  .phscoo-account-discover h2, .phscoo-account-login > h2 { font-size: 30px; }
  .woocommerce .phscoo-account-login form.login { padding: 0; }
  .phscoo-shop-main > .wp-block-group.alignwide { align-items: stretch; gap: 10px; padding: 12px; }
  .phscoo-shop-main .wc-block-product-results-count,
  .phscoo-shop-main .wc-block-catalog-sorting,
  .phscoo-shop-main .woocommerce-ordering,
  .phscoo-shop-main .woocommerce-ordering select { width: 100%; }
  .phscoo-shop-main .wc-block-product-template { grid-template-columns: 1fr !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display: grid; grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { width: 100%; justify-content: center; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 20px; }
  .woocommerce #review_form .comment-form-author,
  .woocommerce #review_form .comment-form-email { width: 100%; display: block; margin-right: 0; }
  .woocommerce #review_form .comment-form-cookies-consent label { font-size: 13px; }
  .phscoo-related-links { padding: 54px 18px; }
  .phscoo-related-links__grid, .phscoo-product-links { grid-template-columns: 1fr; }
  .phscoo-related-links__grid a:nth-child(odd) { margin-right: 0; }
  .phscoo-product-description__intro, .phscoo-product-description__section,
  .phscoo-product-notes section { padding: 26px 20px; }
  .phscoo-product-description__intro > p:last-child { font-size: 16px; }
  .phscoo-product-description__section h2 { font-size: 25px; }
  .phscoo-product-highlights, .phscoo-product-notes { grid-template-columns: 1fr; }
  .phscoo-product-highlights li:nth-child(odd) { margin-right: 0 !important; }
  .phscoo-product-notes section + section { border-top: 1px solid var(--phs-line); border-left: 0; }
  .phscoo-product-description .phscoo-spec th,
  .phscoo-product-description .phscoo-spec td { padding: 13px 12px; }
  .phscoo-product-description__source { padding: 16px 20px; }
  .phscoo-warranty-hero { grid-template-columns: 1fr; padding: 42px 24px; }
  .phscoo-warranty-hero__mark { width: 150px; }
  .phscoo-warranty-hero__mark strong { font-size: 58px; }
  .phscoo-warranty-facts, .phscoo-warranty-steps { grid-template-columns: 1fr; }
  .phscoo-warranty-facts article + article { border-top: 1px solid rgba(0,0,0,.18); border-left: 0; }
  .phscoo-warranty-section { padding: 32px 20px; }
  .phscoo-product-main .wp-block-woocommerce-related-products .wc-block-product-template { grid-template-columns: 1fr !important; }
  .phscoo-hero { min-height: 610px; background-position: center center; }
  .phscoo-hero h1 { font-size: 42px; }
  .phscoo-hero__actions { display: grid; width: min(100%, 340px); margin-left: auto; margin-right: auto; }
  .phscoo-hero__actions .phscoo-pill { min-width: 0; width: 100%; }
  .phscoo-section h2 { font-size: 31px; }
  .phscoo-feature { grid-template-columns: 52px 1fr; gap: 15px; }
  .phscoo-feature img { width: 48px; height: 48px; }
  .phscoo-concerns__image { height: 440px; }
  .phscoo-visual-panel, .phscoo-showcase__duo .phscoo-visual-panel { min-height: 350px; }
  .phscoo-visual-panel h2 { font-size: 31px; }
  .phscoo-visual-panel h3 { font-size: 27px; }
  .phscoo-visual-panel p { font-size: 16px; }
  .phscoo-page-hero { min-height: 500px; }
  .phscoo-page-hero__inner { padding: 68px 18px 48px; }
  .phscoo-page-hero h1 { font-size: 42px; }
  .phscoo-page-hero .lead { font-size: 17px; }
  .phscoo-page-hero__actions { display: grid; grid-template-columns: 1fr; width: min(100%, 340px); margin-top: 24px; }
  .phscoo-page-hero__actions a { width: 100%; }
  .lead { font-size: 17px; }
  .phscoo-footer__inner { grid-template-columns: 1fr; gap: 32px; }
  .phscoo-footer__bottom { flex-direction: column; }
  .phscoo-newsletter { grid-template-columns: 1fr; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .phscoo-contact-rail { left: 0; right: 0; bottom: 0; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 7px 10px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid #dfe2e7; background: rgba(255,255,255,.96); box-shadow: 0 -8px 24px rgba(18,24,34,.1); backdrop-filter: blur(12px); }
  .phscoo-contact-rail a { width: 36px; height: 36px; }
  .phscoo-contact-rail__top { display: none !important; }
  .phscoo-page .phscoo-section { padding-inline: 18px; }
  .phscoo-content-layout--catalog .phscoo-page > .phscoo-section:nth-of-type(even) { width: calc(100% - 20px); border-radius: 16px; }
  .phscoo-content-layout--editorial .phscoo-page > .phscoo-section:not(.phscoo-cta) { padding-block: 54px; }
  .phscoo-prose-grid, .phscoo-prose-grid:has(> article:nth-child(3)), .phscoo-facts { grid-template-columns: 1fr; }
  .phscoo-prose-grid { gap: 16px; }
  .phscoo-prose-grid article { padding: 20px; }
  .phscoo-experience__header h2, .phscoo-experience__split-heading h2 { font-size: 34px; }
  .phscoo-experience__header > p:last-child { font-size: 16px; }
  .phscoo-experience__grid { grid-template-columns: 1fr; }
  .phscoo-experience--layout-catalog .phscoo-experience__grid { grid-template-columns: 1fr; }
  .phscoo-feature-worklist { grid-template-columns: 1fr; }
  .phscoo-feature-worklist li { min-height: 0; }
  .phscoo-feature-ledger > div { grid-template-columns: 1fr; gap: 10px; }
  .phscoo-detail-cards, .phscoo-route-cards { grid-template-columns: 1fr; }
  .phscoo-detail-cards article { min-height: 0; }
  .phscoo-detail-cards article > span { margin-bottom: 30px; }
  .phscoo-experience--layout-network .phscoo-experience__grid { grid-template-columns: 1fr; }
  .phscoo-experience--layout-workbench .phscoo-experience__band--intro,
  .phscoo-experience--layout-workbench .phscoo-experience__band--details,
  .phscoo-experience--layout-network .phscoo-experience__band--intro { padding-inline: 18px; }
  .phscoo-experience-card { min-height: 0; }
  .phscoo-experience-card__icon { margin-bottom: 28px; }
  .phscoo-steps { grid-template-columns: 1fr; gap: 14px; }
  .phscoo-steps li { min-height: 0; display: grid; grid-template-columns: 56px 1fr; align-items: center; gap: 16px; padding: 22px 20px; }
  .phscoo-experience--layout-workbench .phscoo-steps li { border-inline-end: 0; border-bottom: 1px solid #dfe3e8; }
  .phscoo-experience--layout-workbench .phscoo-steps li:last-child { border-bottom: 0; }
  .phscoo-experience--layout-workbench .phscoo-steps span { margin: 0; }
  .phscoo-experience--layout-editorial .phscoo-steps { grid-template-columns: 1fr; }
  .phscoo-experience--layout-editorial .phscoo-steps li { grid-template-columns: 58px 1fr; padding-inline: 18px 0; }
  .phscoo-experience--layout-network .phscoo-steps li { grid-template-columns: 54px 1fr; }
  .phscoo-steps span { width: 52px; height: 52px; margin: 3px 0 0; font-size: 20px; }
  .phscoo-steps strong { max-width: none; }
  .phscoo-accordion summary { min-height: 70px; font-size: 17px; }
  .phscoo-accordion details > div { padding-right: 0; }
  .phscoo-route-switcher__tabs { grid-template-columns: 1fr; }
  .phscoo-route-switcher__tabs button { justify-content: flex-start; text-align: left; }
  .phscoo-route-switcher__panels [role="tabpanel"] { min-height: 0; align-items: flex-start; flex-direction: column; padding: 25px; }
  .phscoo-route-switcher__panels .phscoo-pill { width: 100%; }
  .phscoo-search-hero { padding: 54px 18px; }
  .phscoo-search-hero h1 { font-size: 39px; }
  .phscoo-search-hero > p:not(.phscoo-search-hero__eyebrow) { font-size: 16px; }
  .phscoo-search-results { padding: 46px 16px 72px; }
  .phscoo-search-results__title { font-size: 25px; }
  .phscoo-search-card { padding: 24px 2px; }
  .phscoo-action-hero { min-height: 0; height: calc(100svh - 96px); align-items: start; overflow: hidden; padding: 42px 20px 20px; background-position: right -28px bottom -24px; background-size: 260px auto; }
  .phscoo-action-hero h1 { max-width: 350px; font-size: 42px; }
  .phscoo-action-hero__lead { margin-block: 18px; font-size: 16px; }
  .phscoo-action-price { margin-block: 18px 22px; }
  .phscoo-action-price strong { font-size: 42px; }
  .phscoo-action-hero__actions { display: grid; gap: 14px; }
  .phscoo-action-button { width: 100%; }
  .phscoo-action-link { text-align: center; }
  .phscoo-action-proof { grid-template-columns: 1fr; }
  .phscoo-action-proof > div { min-height: 86px; }
  .phscoo-action-section { padding: 68px 20px; }
  .phscoo-action-feature-grid { grid-template-columns: 1fr; }
  .phscoo-action-feature-grid article { min-height: 0; }
  .phscoo-action-feature-grid svg { margin-bottom: 26px; }
  .phscoo-action-product__media, .phscoo-action-product__media img { min-height: 390px; height: 390px; }
  .phscoo-action-product__copy { padding: 58px 20px; }
  .phscoo-action-steps ol { grid-template-columns: 1fr; }
  .phscoo-action-steps li { min-height: 190px; }
  .phscoo-action-faq summary { min-height: 72px; font-size: 17px; }
  .phscoo-action-faq details p { padding-right: 0; }
  .phscoo-action-final { padding: 68px 20px; }
}

/* Warranty and statutory rights landing page */
.phscoo-rights-page { background: #fff; }
.phscoo-rights-hero {
  position: relative;
  width: 100vw;
  max-width: none;
  min-height: 620px;
  display: grid;
  place-items: center;
  overflow: hidden;
  margin-left: calc(50% - 50vw);
  padding: 96px 24px;
  isolation: isolate;
  color: #fff;
  background: #080808;
}
html:dir(rtl) .phscoo-rights-hero {
  margin-right: calc(50% - 50vw);
  margin-left: 0;
}
.phscoo-rights-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("assets/images/warranty.webp") center 58% / cover no-repeat;
  opacity: .48;
  transform: scale(1.02);
}
.phscoo-rights-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.76) 48%, rgba(0,0,0,.28) 100%), linear-gradient(0deg, #080808 0%, transparent 42%);
}
.phscoo-rights-hero__inner { width: min(100%, 1180px); margin: auto; }
.phscoo-rights-hero__eyebrow, .phscoo-rights-kicker {
  margin: 0 0 15px;
  color: var(--phs-red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.phscoo-rights-hero h1 { max-width: 780px; margin: 0; font-size: clamp(45px, 6vw, 78px); line-height: 1.02; }
.phscoo-rights-hero .lead { max-width: 720px; margin: 28px 0 0; color: rgba(255,255,255,.84); font-size: clamp(18px, 2vw, 23px); line-height: 1.55; }
.phscoo-rights-hero__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.phscoo-rights-hero__links a { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border: 1px solid rgba(255,255,255,.34); border-radius: 5px; font-weight: 750; text-decoration: none; }
.phscoo-rights-hero__links a:first-child { border-color: var(--phs-red); background: var(--phs-red); }
.phscoo-rights-shell { width: min(100% - 40px, 1180px); margin-inline: auto; padding-block: 92px; }
.phscoo-rights-heading { max-width: 780px; margin-bottom: 38px; }
.phscoo-rights-heading h2 { margin: 0; font-size: clamp(32px, 4vw, 50px); line-height: 1.12; }
.phscoo-rights-heading > p:last-child { margin: 18px 0 0; color: var(--phs-muted); font-size: 18px; line-height: 1.7; }
.phscoo-rights-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.phscoo-rights-compare article { position: relative; min-height: 320px; padding: 38px; overflow: hidden; border: 1px solid var(--phs-line); border-radius: 12px; background: #f6f7f8; }
.phscoo-rights-compare article:last-child { color: #fff; border-color: #111; background: #111; }
.phscoo-rights-compare__number { display: block; margin-bottom: 34px; color: var(--phs-red); font: 800 48px/1 "PHS ABeeZee", sans-serif; }
.phscoo-rights-compare h3 { margin: 0 0 14px; font-size: 27px; }
.phscoo-rights-compare p { margin: 0; color: var(--phs-muted); font-size: 17px; line-height: 1.7; }
.phscoo-rights-compare article:last-child p { color: rgba(255,255,255,.72); }
.phscoo-rights-note { margin-top: 20px; padding: 22px 26px; border-inline-start: 5px solid var(--phs-yellow); background: #fff8d7; line-height: 1.65; }
.phscoo-rights-offer { padding-block: 96px; background: #f0f1f2; }
.phscoo-rights-offer > div { width: min(100% - 40px, 1180px); margin-inline: auto; }
.phscoo-warranty-feed { display: grid; grid-template-columns: minmax(300px, .86fr) minmax(0, 1.14fr); overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.12); }
.phscoo-warranty-feed__visual { position: relative; min-height: 520px; display: grid; place-items: center; overflow: hidden; padding: 50px; color: #fff; text-decoration: none; background: radial-gradient(circle at 50% 34%, #343434, #090909 70%); }
.phscoo-warranty-feed__visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.phscoo-warranty-feed__seal { width: 238px; aspect-ratio: 1; display: grid; align-content: center; justify-items: center; border: 3px solid var(--phs-red); border-radius: 50%; box-shadow: 0 0 0 13px rgba(239,27,35,.12), 0 0 70px rgba(239,27,35,.3); }
.phscoo-warranty-feed__seal strong { font: 800 92px/.82 "PHS ABeeZee", sans-serif; }
.phscoo-warranty-feed__seal span { margin-top: 10px; color: var(--phs-yellow); font-size: 18px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.phscoo-warranty-feed__tag { position: absolute; inset: auto 24px 24px; padding: 10px 14px; border-radius: 4px; color: #080808; background: var(--phs-yellow); font-size: 13px; font-weight: 800; text-align: center; }
.phscoo-warranty-feed__content { display: flex; flex-direction: column; padding: clamp(34px, 5vw, 64px); }
.phscoo-warranty-feed__status { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; color: #18753a; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.phscoo-warranty-feed__status span { width: 9px; height: 9px; border-radius: 50%; background: #25a653; box-shadow: 0 0 0 4px #dcf4e4; }
.phscoo-warranty-feed h3 { margin: 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; }
.phscoo-warranty-feed h3 a { text-decoration: none; }
.phscoo-warranty-feed__description { margin: 20px 0 26px; color: var(--phs-muted); font-size: 17px; line-height: 1.7; }
.phscoo-warranty-feed__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--phs-line); border: 1px solid var(--phs-line); }
.phscoo-warranty-feed__facts li { min-height: 115px; padding: 20px 16px; background: #f7f7f7; }
.phscoo-warranty-feed__facts strong, .phscoo-warranty-feed__facts span { display: block; }
.phscoo-warranty-feed__facts strong { color: var(--phs-red); font-size: 25px; }
.phscoo-warranty-feed__facts span { margin-top: 7px; color: #555; font-size: 13px; line-height: 1.35; }
.phscoo-warranty-feed__footer { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: auto; padding-top: 28px; }
.phscoo-warranty-feed__price { margin: 0; font-size: 30px; font-weight: 850; }
.phscoo-warranty-feed__price small { display: block; margin-bottom: 3px; color: var(--phs-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.phscoo-warranty-feed__actions { display: flex; align-items: center; gap: 16px; }
.phscoo-warranty-feed__actions form { margin: 0; }
.phscoo-warranty-feed__details { color: var(--phs-red-dark); font-size: 14px; font-weight: 800; }
.phscoo-warranty-feed__cart { min-height: 49px; display: inline-flex; align-items: center; gap: 14px; padding: 12px 18px; border: 0; border-radius: 5px; color: #fff; background: var(--phs-red); font-size: 14px; font-weight: 800; text-decoration: none; cursor: pointer; }
.phscoo-warranty-feed__cart:hover { background: var(--phs-red-dark); }
.phscoo-rights-process { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
.phscoo-rights-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: rights-step; }
.phscoo-rights-steps li { position: relative; min-height: 120px; padding: 25px 25px 25px 86px; border-bottom: 1px solid var(--phs-line); counter-increment: rights-step; }
.phscoo-rights-steps li::before { content: counter(rights-step, decimal-leading-zero); position: absolute; inset: 26px auto auto 0; color: var(--phs-red); font: 800 28px/1 "PHS ABeeZee", sans-serif; }
[dir="rtl"] .phscoo-rights-steps li { padding: 25px 86px 25px 25px; }
[dir="rtl"] .phscoo-rights-steps li::before { inset: 26px 0 auto auto; }
.phscoo-rights-steps strong { display: block; margin-bottom: 8px; font-size: 19px; }
.phscoo-rights-steps span { color: var(--phs-muted); line-height: 1.55; }
.phscoo-rights-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.phscoo-rights-checks article { min-height: 200px; padding: 28px; border-radius: 10px; background: #f3f4f5; }
.phscoo-rights-checks h3 { margin: 0 0 12px; font-size: 20px; }
.phscoo-rights-checks p { margin: 0; color: var(--phs-muted); line-height: 1.65; }
.phscoo-rights-help { color: #fff; background: #111; }
.phscoo-rights-help .phscoo-rights-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.phscoo-rights-help h2 { margin: 0; font-size: clamp(32px, 4vw, 52px); }
.phscoo-rights-help p { color: rgba(255,255,255,.7); line-height: 1.7; }
.phscoo-rights-help ul { margin: 0; padding: 30px; border-radius: 10px; color: #111; background: var(--phs-yellow); list-style-position: inside; }
.phscoo-rights-help li + li { margin-top: 12px; }
.phscoo-rights-help a { color: var(--phs-yellow); font-weight: 800; }
.phscoo-rights-help ul a { color: #111; }
.phscoo-warranty-feed__empty { padding: 28px; border: 1px solid #edb8bb; border-radius: 8px; background: #fff; }

@media (max-width: 850px) {
  .phscoo-rights-hero { min-height: 560px; padding: 72px 20px; }
  .phscoo-rights-hero::after { background: rgba(0,0,0,.72); }
  .phscoo-rights-shell { width: min(100% - 32px, 1180px); padding-block: 70px; }
  .phscoo-rights-compare, .phscoo-rights-process, .phscoo-rights-help .phscoo-rights-shell { grid-template-columns: 1fr; gap: 32px; }
  .phscoo-rights-offer { padding-block: 70px; }
  .phscoo-rights-offer > div { width: min(100% - 32px, 1180px); }
  .phscoo-warranty-feed { grid-template-columns: 1fr; }
  .phscoo-warranty-feed__visual { min-height: 380px; }
  .phscoo-warranty-feed__footer { align-items: stretch; flex-direction: column; }
  .phscoo-warranty-feed__actions { justify-content: space-between; }
}
@media (max-width: 560px) {
  .phscoo-rights-hero h1 { font-size: 42px; }
  .phscoo-rights-compare article { min-height: 0; padding: 28px; }
  .phscoo-warranty-feed__visual { min-height: 320px; padding: 32px; }
  .phscoo-warranty-feed__seal { width: 188px; }
  .phscoo-warranty-feed__seal strong { font-size: 70px; }
  .phscoo-warranty-feed__facts, .phscoo-rights-checks { grid-template-columns: 1fr; }
  .phscoo-warranty-feed__facts li { min-height: 0; }
  .phscoo-warranty-feed__actions { align-items: stretch; flex-direction: column; }
  .phscoo-warranty-feed__cart { justify-content: center; }
}

/* Keep primary page heroes full-bleed even when their post content is constrained. */
:is(.phscoo-hero, .phscoo-action-hero, .phscoo-legal-hero, .phscoo-region-hero) {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
}
html:dir(rtl) :is(.phscoo-hero, .phscoo-action-hero, .phscoo-legal-hero, .phscoo-region-hero) {
  margin-right: calc(50% - 50vw);
  margin-left: 0;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* UX release overrides: kept last so legacy component rules cannot override them. */
.phscoo-header { transition: transform .24s ease, box-shadow .24s ease; will-change: transform; }
.phscoo-header.is-scrolled { box-shadow: 0 8px 24px rgba(0,0,0,.16); }
.phscoo-header.is-hidden { transform: translateY(calc(-100% - 2px)); }
.phscoo-menu-open .phscoo-header { transform: none; }
.phscoo-pill, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .phscoo-shop-pick__cta, .phscoo-shop-filters__form button { min-height: 48px; border-radius: 8px; }
.phscoo-header__cta, .phscoo-language-switcher > summary, .phscoo-mobile-nav > summary { min-height: 44px; }
.phscoo-hero__actions .phscoo-pill:first-child,
.phscoo-page-hero__actions .phscoo-pill:first-child,
.woocommerce .single_add_to_cart_button,
.phscoo-shop-main .wp-block-woocommerce-product-button button,
.phscoo-shop-main .wp-block-woocommerce-product-button .add_to_cart_button { border-color: var(--phs-red); color: #fff; background: var(--phs-red); }
.phscoo-hero__actions .phscoo-pill:first-child:hover,
.phscoo-page-hero__actions .phscoo-pill:first-child:hover,
.woocommerce .single_add_to_cart_button:hover,
.phscoo-shop-main .wp-block-woocommerce-product-button button:hover,
.phscoo-shop-main .wp-block-woocommerce-product-button .add_to_cart_button:hover { color: #fff; background: var(--phs-red-dark); }
.phscoo-shop-pick__content li { min-height: 32px; padding: 7px 10px; font-size: 11px; line-height: 1.2; }
.phscoo-shop-pick__footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.phscoo-shop-pick__cta { min-width: 126px; padding: 10px 15px; }
.phscoo-shop-pick__tax { grid-column: 1 / -1; margin-top: 2px; color: #5e646d; font-size: 12px; }
.phscoo-shop-main .wc-block-product > .wc-gzd-additional-info-loop,
.woocommerce ul.products li.product .wgm-info { color: #5e646d; font-size: 12px; }
.phscoo-shop-main > .wp-block-group.alignwide { margin-top: 20px; }
.phscoo-shop-main .wp-block-query-title { margin-bottom: 6px; }
.woocommerce span.onsale, .wc-block-components-product-sale-badge { color: #111; background: var(--phs-yellow); }
.phscoo-footer__disclosure { width: 100%; display: flex; align-items: center; justify-content: space-between; margin: 0 0 13px; padding: 0; border: 0; color: #fff; background: transparent; font-size: 16px; font-weight: 800; text-align: start; }
.phscoo-footer__links > h2 { margin: 0; }
.phscoo-footer__disclosure > span:last-child { display: none; font-size: 24px; font-weight: 400; transition: transform .18s ease; }
.phscoo-contact-rail { align-items: end; }
.phscoo-contact-rail__items { display: grid; justify-items: end; gap: 9px; }
.phscoo-contact-rail__items[hidden] { display: none; }
.phscoo-contact-rail__toggle { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border: 0; border-radius: 24px; color: #fff; background: var(--phs-red); box-shadow: 0 8px 24px rgba(0,0,0,.24); font-size: 13px; font-weight: 800; cursor: pointer; }
.phscoo-contact-rail__toggle:hover { background: var(--phs-red-dark); }
.phscoo-section-nav { position: sticky; top: 0; z-index: 55; width: 100%; display: flex; align-items: center; gap: 8px; padding: 10px max(20px, calc((100% - 1000px) / 2)); overflow-x: auto; border-bottom: 1px solid var(--phs-line); background: rgba(255,255,255,.96); box-shadow: 0 7px 20px rgba(18,24,34,.05); scrollbar-width: thin; }
.phscoo-page .phscoo-section-nav,
.phscoo-rights-page .phscoo-section-nav { padding-inline: max(20px, calc((100% - 1000px) / 2)); }
.phscoo-section-nav strong { flex: 0 0 auto; margin-inline-end: 6px; font-size: 13px; }
.phscoo-section-nav a { flex: 0 0 auto; padding: 8px 11px; border: 1px solid #d5d9de; border-radius: 8px; color: #3f464f; font-size: 12px; font-weight: 750; text-decoration: none; }
.phscoo-section-nav a:hover { border-color: var(--phs-red); color: var(--phs-red-dark); background: #fff5f5; }
.phscoo-section-nav a.is-active,
.phscoo-section-nav a[aria-current="location"] { border-color: var(--phs-red); color: #fff; background: var(--phs-red); box-shadow: 0 5px 14px rgba(217,18,27,.22); }
.phscoo-section-nav__target { scroll-margin-top: 126px; }
.phscoo-section-nav ~ .phscoo-section { scroll-margin-top: 125px; }
.phscoo-account-login > h1 { margin-top: 0; font-size: 36px; }
.woocommerce form .show-password-input { width: 44px !important; min-width: 44px; height: 44px !important; display: grid; place-items: center; top: 1px; right: 1px; }
.woocommerce-password-strength { min-height: 32px; padding: 7px 10px; font-size: 12px; }
.phscoo-legal-hero time, .phscoo-legal-date { color: #555c65; }
.phscoo-footer small, .phscoo-footer__consent, .phscoo-payments small { font-size: 12px; line-height: 1.5; }
.phscoo-sticky-buy { display: none; }

/* Keep the shop catalogue compact when WooCommerce omits its responsive-grid class. */
.phscoo-shop-main .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px;
  margin-block: 0;
  padding: 0;
  list-style: none;
}
.phscoo-shop-main .wc-block-product-template > .wc-block-product {
  width: auto !important;
  min-width: 0;
  display: flex !important;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  margin: 0 !important;
  padding: 16px;
  border: 1px solid var(--phs-line);
  border-radius: var(--phs-radius);
  background: #fff;
}
.phscoo-shop-main .wc-block-product-template > .wc-block-product > .wp-block-post-title {
  min-height: calc(1.4em * 3);
}
.phscoo-shop-main .wc-block-product-template > .wc-block-product > .wp-block-woocommerce-product-button,
.phscoo-shop-main .wc-block-product-template > .wc-block-product > .wp-block-woocommerce-product-button .wp-block-button__link {
  width: 100%;
}
.phscoo-shop-main .wc-block-product-template > .wc-block-product > .wp-block-woocommerce-product-button .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 900px) {
  .phscoo-shop-main .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .phscoo-shop-main .wc-block-product-template { grid-template-columns: 1fr !important; }
  .phscoo-shop-main .wc-block-product-template > .wc-block-product > .wp-block-post-title { min-height: 0; }
}

@media (max-width: 900px) {
  .phscoo-section-nav { top: 0; padding-inline: 14px; }
  .phscoo-page .phscoo-section-nav,
  .phscoo-rights-page .phscoo-section-nav { padding-inline: 14px; }
  .phscoo-section-nav strong { position: sticky; inset-inline-start: 0; padding: 8px 9px; background: #fff; }
}

@media (max-width: 600px) {
  body { padding-bottom: 0; }
  .phscoo-shop-picks { margin-top: 12px; padding: 18px 0 18px 16px; }
  .phscoo-shop-picks__heading { padding-right: 16px; margin-bottom: 18px; }
  .phscoo-shop-picks__heading > p { font-size: 14px; line-height: 1.5; }
  .phscoo-shop-picks__grid { display: flex; gap: 13px; padding: 0 16px 10px 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }
  .phscoo-shop-pick { width: min(82vw, 330px); flex: 0 0 min(82vw, 330px); scroll-snap-align: start; }
  .phscoo-shop-pick__media { aspect-ratio: 16 / 10; }
  .phscoo-shop-pick__content { gap: 9px; padding: 16px; }
  .phscoo-shop-pick__content h3 { font-size: 18px; }
  .phscoo-shop-pick__content > p:not(:empty):not(.phscoo-shop-pick__tax) { font-size: 12px; line-height: 1.45; }
  .phscoo-shop-pick__footer { grid-template-columns: 1fr; }
  .phscoo-shop-pick__cta { width: 100%; }
  .phscoo-shop-main { padding-top: 24px; }
  .phscoo-shop-main .wp-block-query-title { font-size: 39px; }
  .phscoo-product-main { padding-top: 24px; }
  .phscoo-product-main .wp-block-woocommerce-product-gallery,
  .phscoo-product-main .wc-block-product-gallery { max-height: 440px; overflow: hidden; }
  .phscoo-product-main .wp-block-post-title { font-size: 34px; }
  .phscoo-sticky-buy { position: fixed; inset-inline: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 125; min-height: 62px; align-items: center; gap: 12px; padding: 8px 8px 8px 14px; border: 1px solid #d6d9de; border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 12px 36px rgba(12,18,28,.24); backdrop-filter: blur(12px); }
  .phscoo-sticky-buy.is-visible { display: flex; }
  .phscoo-sticky-buy__price { min-width: 0; flex: 1; color: var(--phs-red-dark); font-size: 15px; font-weight: 850; white-space: nowrap; }
  .phscoo-sticky-buy__price del { display: none; }
  .phscoo-sticky-buy button { min-height: 46px; flex: 0 0 auto; padding: 9px 16px; border: 0; border-radius: 8px; color: #fff; background: var(--phs-red); font-size: 13px; font-weight: 850; }
  .phscoo-footer__inner { gap: 22px; padding-block: 46px 32px; }
  .phscoo-footer__stack { gap: 0; }
  .phscoo-footer__links { border-bottom: 1px solid rgba(255,255,255,.17); }
  .phscoo-footer__disclosure { min-height: 52px; margin: 0; cursor: pointer; }
  .phscoo-footer__disclosure > span:last-child { display: block; }
  .phscoo-footer__disclosure[aria-expanded="true"] > span:last-child { transform: rotate(45deg); }
  .phscoo-footer__links > ul { display: none; padding-bottom: 18px; }
  .phscoo-footer__links.is-open > ul { display: grid; }
  .phscoo-footer__bottom { padding-bottom: 26px; font-size: 12px; }
  .phscoo-contact-rail { left: auto; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); min-height: 0; display: grid; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
  .phscoo-contact-rail__items { display: flex; flex-direction: column; align-items: end; }
  .phscoo-contact-rail__items[hidden] { display: none; }
  .phscoo-contact-rail a { width: 44px; height: 44px; }
  .phscoo-contact-rail__top { display: grid !important; }
  .phscoo-contact-rail__toggle { width: 48px; padding: 0; border-radius: 50%; }
  .phscoo-contact-rail__toggle > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body:has(.phscoo-sticky-buy.is-visible) .phscoo-contact-rail { bottom: calc(86px + env(safe-area-inset-bottom)); }
}
