:root {
  --pf-yellow: #f2b600;
  --pf-space-xs: 8px;
  --pf-space-sm: 12px;
  --pf-space-md: 18px;
  --pf-space-lg: 24px;
  --pf-control-h: 50px;
  --pf-ink: #0a0a0a;
  --pf-line: #dededa;
  --pf-soft: #f6f6f4;
  --pf-muted: #666;
  --pf-white: #fff;
  --pf-radius: 7px;
  --pf-wide: 1280px;
}

html { scroll-behavior: smooth; }
body.pfs-storefront { overflow-x: clip; background: #fff; color: var(--pf-ink); }
body.pfs-storefront *, body.pfs-storefront *::before, body.pfs-storefront *::after { box-sizing: border-box; }
body.pfs-storefront :where(a, button, input, select, summary):focus-visible { outline: 3px solid rgba(242, 182, 0, .55); outline-offset: 3px; }
body.pfs-storefront main { margin-block-start: 0; }
body.pfs-storefront .alignwide { width: min(var(--pf-wide), calc(100% - 48px)); max-width: var(--pf-wide); }

/* Header */
.pfs-header { margin: 0; position: relative; z-index: 30; background: #fff; border-bottom: 1px solid var(--pf-line); }
/* Defensive no-flash guard when WordPress renders a stale duplicate template part. */
.pfs-header ~ .pfs-header { display: none !important; }
.pfs-service-bar { min-height: 42px; margin: 0; padding: 8px 24px; gap: clamp(42px, 9vw, 130px); background: var(--pf-yellow); }
.pfs-service-item { display: flex; align-items: center; gap: 10px; margin: 0; white-space: nowrap; font-size: 12px; font-weight: 800; letter-spacing: .01em; }
.pfs-service-item::before, .pfs-purchase-benefit::before, .pfs-benefit::before { content: ""; flex: 0 0 auto; width: 23px; height: 23px; background: currentColor; mask-position: center; mask-repeat: no-repeat; mask-size: contain; }
.pfs-service-shipping::before, .pfs-benefit-delivery::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M3 6h11v10H3zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E"); }
.pfs-service-payment::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 9h19'/%3E%3C/g%3E%3C/svg%3E"); }
.pfs-service-fast::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 5 13h6l-1 9 9-13h-6z' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E"); }
.pfs-service-return::before, .pfs-benefit-heart::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-4.7-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 6.3-8 11-8 11Z' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E"); }
.pfs-header-main { min-height: 106px; margin: 0 auto; padding: 17px 12px; gap: 28px; }
.pfs-site-logo { flex: 0 0 215px; margin: 0; }
.pfs-site-logo a { display: block; width: 215px; height: 64px; overflow: hidden; background: var(--pfs-logo) left center / contain no-repeat; color: transparent !important; font-size: 0; }
.pfs-primary-nav { flex: 1 1 auto; justify-content: center; }
.pfs-primary-nav .wp-block-navigation__container { gap: clamp(22px, 3.2vw, 45px); }
.pfs-primary-nav .wp-block-navigation-item__content { position: relative; padding: 12px 0; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.pfs-primary-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; right: 100%; bottom: 5px; left: 0; height: 2px; background: var(--pf-yellow); transition: right .2s ease; }
.pfs-primary-nav .current-menu-item .wp-block-navigation-item__content::after,
.pfs-primary-nav .current-menu-ancestor .wp-block-navigation-item__content::after,
.pfs-primary-nav .wp-block-navigation-item.is-pfs-current .wp-block-navigation-item__content::after,
.pfs-primary-nav .wp-block-navigation-item__content:hover::after { right: 0; }
.pfs-header-tools { flex: 0 0 auto; gap: 13px; }
.pfs-header-search { width: 31px; margin: 0; }
.pfs-header-search .wp-block-search__inside-wrapper { padding: 0; border: 0; }
.pfs-header-search .wp-block-search__button { width: 31px; height: 38px; margin: 0; padding: 5px; background: transparent; color: var(--pf-ink); }
.pfs-header-search .wp-block-search__input { display: none; }
.pfs-account, .pfs-mini-cart { margin: 0; }
.pfs-account svg, .pfs-mini-cart svg { width: 26px !important; height: 26px !important; }

/* Home hero */
.pfs-home { margin: 0; }
.pfs-hero { position: relative; width: 100vw; max-width: 100vw; margin: 0 calc(50% - 50vw); overflow: hidden; background: #f3f3f1; }
.pfs-hero > .wp-block-columns { min-height: 510px; width: 100%; max-width: none; margin: 0; gap: 0; }
.pfs-hero-copy { position: relative; z-index: 2; display: flex; flex: 0 0 50% !important; flex-direction: column; justify-content: center; padding-top: 50px; padding-right: clamp(28px,4vw,64px); padding-bottom: 50px; padding-left: max(24px, calc((100vw - var(--pf-wide)) / 2)); background: #f3f3f1; }
.pfs-hero-copy::after { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(100% - 1px); width: clamp(150px,12vw,250px); pointer-events: none; background: linear-gradient(90deg, #f3f3f1 0%, rgba(243,243,241,.96) 24%, rgba(243,243,241,.72) 50%, rgba(243,243,241,0) 100%); }
.pfs-hero-copy h1 { margin: 0; font-size: clamp(47px, 4.7vw, 68px); line-height: .92; letter-spacing: -.04em; white-space: nowrap; }
.pfs-hero-copy h1 mark, .pfs-footer-banner mark { padding: 0; background: transparent; color: var(--pf-yellow); }
.pfs-lead { margin: 34px 0 30px; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.45; }
.pfs-hero-buttons { gap: 20px; }
.pfs-hero-buttons .wp-block-button__link { min-height: 52px; display: grid; place-items: center; padding: 0 24px; border: 1px solid var(--pf-ink); font-size: 13px; font-weight: 900; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.pfs-hero-buttons .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.pfs-hero-visual { position: relative; min-height: 510px; flex: 1 1 50% !important; overflow: hidden; background: transparent; }
.pfs-hero-visual .pfs-hero-media { width: 100%; height: 510px; min-height: 510px !important; margin: 0 !important; padding: 0 !important; }
.pfs-hero-visual .pfs-hero-media .wp-block-cover__image-background { width: 100%; height: 100%; }
.pfs-hero:not(:has(.pfs-hero-media)) { background: linear-gradient(90deg, #f3f3f1 0%, rgba(243,243,241,.98) 28%, rgba(243,243,241,.82) 42%, rgba(243,243,241,.18) 65%, rgba(243,243,241,0) 78%), var(--pfs-hero) right center / cover no-repeat; }

/* Benefits */
.pfs-benefits { margin-block: 0; }
.pfs-benefits-home { padding: 34px 0; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
.pfs-benefit { position: relative; min-height: 42px; margin: 0; padding-left: 44px; transition: transform .2s ease; }
.pfs-benefit:hover { transform: translateY(-2px); }
.pfs-benefit::before { position: absolute; top: 3px; left: 0; width: 32px; height: 32px; }
.pfs-benefit h3 { margin: 0 0 3px; font-size: 12px; line-height: 1.25; text-transform: uppercase; }
.pfs-benefit p { margin: 0; color: #333; font-size: 11px; }
.pfs-benefit-location::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-7 7-13A7 7 0 0 0 5 9c0 6 7 13 7 13Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='9' r='2.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E"); }
.pfs-benefit-design::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 16 12-12 4 4L8 20H4v-4Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='m14 6 4 4' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E"); }
.pfs-benefit-community::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c.4-5 2.4-7 6-7s5.6 2 6 7M16 5a3 3 0 0 1 0 6M17 13c2.5.3 3.8 2.4 4 6'/%3E%3C/g%3E%3C/svg%3E"); }
.pfs-benefit-quality::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='m4 8 3 3 5-7 5 7 3-3-2 12H6L4 8Z'/%3E%3Cpath d='M7 15h10'/%3E%3C/g%3E%3C/svg%3E"); }
.pfs-benefit-shirt::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 4-5 3 2 5 3-1v9h8v-9l3 1 2-5-5-3c-2 2-6 2-8 0Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E"); }
.pfs-benefit-print::before { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M6 9V3h12v6M6 17H4V9h16v8h-2M6 14h12v7H6z'/%3E%3Cpath d='M17 11h1'/%3E%3C/g%3E%3C/svg%3E"); }

/* Home categories */
.pfs-section { margin-block: 0 36px; }
.pfs-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pfs-category { position: relative; min-height: 290px; overflow: hidden; padding: 28px 24px; border-radius: var(--pf-radius); background: #111 center / cover no-repeat; color: #fff; transition: transform .25s ease, box-shadow .25s ease, background-size .35s ease; }
.pfs-category:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,0,0,.14); background-size: 104%; }
.pfs-category .pfs-arrow { transition: transform .2s ease; }
.pfs-category:hover .pfs-arrow { transform: translateX(5px); }
.pfs-category-shirts { background-image: var(--pfs-category-shirts); }
.pfs-category-hoodies { background-image: var(--pfs-category-hoodies); }
.pfs-category-accessories { background-image: var(--pfs-category-accessories); }
.pfs-category-designs { background-image: var(--pfs-category-designs); }
.pfs-category h2 { margin: 0 0 12px; color: #fff; font-size: 26px; }
.pfs-category > p:not(.pfs-arrow) { margin: 0; color: #fff; font-size: 15px; }
.pfs-arrow { position: absolute; bottom: 22px; left: 24px; margin: 0; }
.pfs-arrow a { color: var(--pf-yellow); font-size: 34px; line-height: 1; }

/* Product cards */
.pfs-section-heading { margin-bottom: 18px; }
.pfs-section-heading h2 { margin: 0; font-size: 27px; }
.pfs-section-heading p { margin: 0; font-size: 13px; }
.pfs-product-query .wp-block-post-template { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 12px; }
.pfs-product-query .wp-block-post,
.pfs-catalog-products li.wc-block-product { position: relative; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 10px !important; border: 1px solid var(--pf-line); border-radius: var(--pf-radius); background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.pfs-product-query .wp-block-post:hover,
.pfs-catalog-products li.wc-block-product:hover { transform: translateY(-3px); border-color: #bcbcb7; box-shadow: 0 10px 24px rgba(0, 0, 0, .06); }
.pfs-product-query .wc-block-components-product-image,
.pfs-catalog-products .wc-block-components-product-image { margin: 0 !important; overflow: hidden; border-radius: 5px; background: linear-gradient(145deg, #fafafa, #f1f1ef); }
.pfs-product-query .wc-block-components-product-image img,
.pfs-catalog-products .wc-block-components-product-image img { width: 100% !important; aspect-ratio: 1 / 1; object-fit: contain; transition: transform .25s ease; }
.pfs-product-query .wp-block-post:hover img,
.pfs-catalog-products li.wc-block-product:hover img { transform: scale(1.025); }
.pfs-product-query .wp-block-post-title,
.pfs-catalog-products .wp-block-post-title { margin: 4px 0 0 !important; font-size: 14px !important; font-weight: 800; line-height: 1.25; }
.pfs-product-query .wp-block-woocommerce-product-price,
.pfs-catalog-products .wp-block-woocommerce-product-price { margin: 0 !important; font-size: 17px; font-weight: 900; }
.pfs-product-query .wc-block-components-product-button,
.pfs-catalog-products .wc-block-components-product-button { margin-top: auto; }
.pfs-product-query .wc-block-components-product-button__button,
.pfs-catalog-products .wc-block-components-product-button__button { width: 100%; min-height: 38px; padding: 7px 10px; border: 1px solid #bdbdb8; background: #fff; color: var(--pf-ink); font-size: 11px; font-weight: 900; text-transform: uppercase; }

/* Catalog */
.pfs-catalog { padding: 0 0 46px; }
.pfs-catalog-hero { position: relative; min-height: 112px; padding: 10px 0 8px; border-bottom: 1px solid var(--pf-line); }
.pfs-catalog-hero::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:46%;
  height:104px;
  opacity:1;
  background-image:var(--pfs-current-catalog-banner, var(--pfs-category-designs));
  background-position:right center;
  background-size:contain;
  background-repeat:no-repeat;
  pointer-events:none;
}
.pfs-catalog-hero .wp-block-query-title { position: relative; z-index: 1; margin: 8px 0 4px; font-size: 36px; }
.pfs-catalog-hero .term-description { max-width: 620px; }
.pfs-catalog-benefits { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin-top: 28px; padding: 22px 0; border-top: 1px solid var(--pf-line); border-bottom: 0; }
.pfs-catalog-toolbar { margin: 0 auto 14px; padding-top: 10px; }
.pfs-catalog-toolbar .woocommerce-result-count { margin: 0; font-size: 13px; }
.pfs-catalog-toolbar select { min-width: 180px; height: 40px; padding: 0 35px 0 12px; border: 1px solid var(--pf-line); border-radius: 5px; background: #fff; font-weight: 700; }
.pfs-catalog-products ul.wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; }
.pfs-catalog-products .wp-block-query-pagination { margin-top: 24px; }
.pfs-catalog-products .wc-block-components-product-button__button { min-height: 36px; border-color: #b9b9b5; border-radius: 4px; background: #fff !important; color: transparent !important; font-size: 0 !important; }
.pfs-catalog-products .wc-block-components-product-button__button::after { content: "DETAIL"; color: var(--pf-ink); font-size: 11px; font-weight: 900; }
.pfs-catalog-products .wc-block-components-product-button__button:hover { border-color: var(--pf-ink); background: var(--pf-ink) !important; }
.pfs-catalog-products .wc-block-components-product-button__button:hover::after { color: #fff; }

/* Product detail — consolidated 0.5.0 */
.pfs-product-detail { padding: 18px 0 34px; }
.pfs-product-detail > .wc-block-breadcrumbs { margin-bottom: 14px; font-size: 12px; color: var(--pf-muted); }
.pfs-product-main { gap: 34px; margin-bottom: 24px; align-items: flex-start !important; }
.pfs-product-gallery-column { min-width: 0; flex-basis: 60% !important; }
.pfs-product-summary { min-width: 0; flex-basis: 40% !important; padding: 0; align-self: flex-start; }

/* Gallery: Woo/FlexSlider owns slide widths. Theme controls only layout and image fit. */
.pfs-product-detail .woocommerce-product-gallery {
  display: grid !important;
  grid-template-columns:82px minmax(0,550px);
  gap:var(--pf-space-sm);
  width:min(644px,100%) !important;
  max-width:644px !important;
  margin:0 !important;
}
.pfs-product-detail .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns:minmax(0,550px); width:min(550px,100%) !important; max-width:550px !important; }
.pfs-product-detail .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .flex-viewport { grid-column: 1; }
.pfs-product-detail .woocommerce-product-gallery .flex-viewport {
  grid-column: 2;
  grid-row: 1;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  border-radius: var(--pf-radius);
  background: #f7f7f5;
}
.pfs-product-detail .woocommerce-product-gallery__wrapper,
.pfs-product-detail .woocommerce-product-gallery__image,
.pfs-product-detail .woocommerce-product-gallery__image > a {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
}
.pfs-product-detail .woocommerce-product-gallery__image > a { display: block !important; }
.pfs-product-detail .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform:none !important;
  transform-origin: center center !important;
  transition: none !important;
  opacity: 1 !important;
}
.pfs-product-detail .woocommerce-product-gallery__image:hover img { transform:none !important; }
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs {
  grid-column: 1;
  grid-row: 1;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
}
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs li {
  width: 82px !important;
  height: 82px;
  margin: 0 !important;
  overflow: hidden;
  float: none !important;
  border: 1px solid var(--pf-line);
  border-radius: 6px;
  background: #f4f4f2;
}
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs img { width:100% !important; height:100% !important; object-fit:contain; opacity:.6; }
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity:1; }
.pfs-product-detail .woocommerce-product-gallery .zoomImg { display:none !important; }
.pfs-product-detail .woocommerce-product-gallery__trigger {
  top: 13px !important; right: 13px !important; width: 42px !important; height: 42px !important;
  display:grid !important; place-items:center; border:1px solid var(--pf-line); border-radius:50% !important; background:#fff !important;
}

.pfs-product-title { max-width:580px; margin:0 0 12px; font-size:clamp(31px,3.1vw,44px); line-height:1.02; letter-spacing:-.035em; }
.pfs-product-summary .wp-block-woocommerce-product-summary { max-width:570px; margin:0 0 12px; font-size:15px; line-height:1.5; }
.pfs-price-stock { gap:24px; margin:0 0 14px; padding:4px 0 13px; border-bottom:1px solid var(--pf-line); }
.pfs-price-stock .wp-block-woocommerce-product-price { margin:0; font-size:28px; font-weight:900; }
/* Generic stock near price is hidden; selected variation availability is shown below. */
.pfs-price-stock .wp-block-woocommerce-product-stock-indicator { display:none !important; }

/* Variations */
.pfs-product-summary form.variations_form,
.pfs-product-summary .wp-block-woocommerce-add-to-cart-form,
.pfs-product-summary .wp-block-add-to-cart-form,
.pfs-product-summary form.cart { width:100% !important; max-width:none !important; margin:0 !important; }
.pfs-product-summary table.variations,
.pfs-product-summary table.variations tbody,
.pfs-product-summary table.variations tr,
.pfs-product-summary table.variations th,
.pfs-product-summary table.variations td { display:block; width:100%; border:0; background:transparent; }
.pfs-product-summary table.variations tr { margin:0 0 var(--pf-space-md); }
.pfs-product-summary table.variations th.label {
  padding:0 0 8px; text-align:left; color:#666; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.pfs-product-summary table.variations td.value { padding:0; }
.pfs-product-summary .reset_variations { display:none !important; }
.pfs-enhanced-variations table.variations select { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; }
.pfs-variant-buttons { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.pfs-variant-button {
  min-width:40px; height:34px; padding:0 11px; border:1px solid #cfcfcb; border-radius:4px; background:#fff; color:var(--pf-ink);
  font:800 11px/1 Inter,Arial,sans-serif; cursor:pointer; transition:border-color .15s ease,background-color .15s ease,color .15s ease;
}
.pfs-variant-button:hover:not(:disabled) { border-color:var(--pf-ink); }
.pfs-variant-button.is-active { border-color:var(--pf-ink); background:var(--pf-ink); color:#fff; }
.pfs-variant-button:disabled { opacity:.3; cursor:not-allowed; text-decoration:line-through; }
.pfs-variant-buttons.is-color .pfs-variant-button,
.pfs-variant-buttons.is-color .pfs-variant-button:hover:not(:disabled),
.pfs-variant-buttons.is-color .pfs-variant-button.is-active {
  width:28px !important; min-width:28px !important; height:28px !important; padding:0 !important;
  border:1px solid #bdbdb8 !important; border-radius:50% !important;
  background:var(--pfs-swatch,#d8d8d5) !important; color:transparent !important;
  outline:0 !important; box-shadow:none !important; transform:none !important;
}
.pfs-variant-buttons.is-color .pfs-variant-button.is-active {
  border-color:#bdbdb8 !important;
  box-shadow:none !important;
  outline:2px solid var(--pf-ink) !important;
  outline-offset:2px !important;
}
.pfs-variant-buttons.is-color .pfs-variant-button:hover:not(:disabled):not(.is-active) {
  box-shadow:0 0 0 2px #fff, 0 0 0 3px #777 !important;
}
.pfs-selected-value { margin-left:4px; font-weight:500; text-transform:none; }
.pfs-size-guide-link {
  display:inline-flex; align-items:center; gap:7px; margin:10px 0 0; padding:0 0 3px; border:0; border-bottom:2px solid var(--pf-yellow);
  background:transparent; color:var(--pf-ink); font-size:11px; font-weight:800; line-height:1.2; cursor:pointer;
}

/* Selected variation information */
.pfs-product-summary .single_variation_wrap { width:100% !important; margin-top:2px; }
.pfs-product-summary .woocommerce-variation-price { margin:0 0 8px; }
.pfs-product-summary .woocommerce-variation-availability { margin:0 0 10px; font-size:11px; font-weight:750; color:#207a31; }
.pfs-product-summary .woocommerce-variation-availability p { margin:0; }

/* Purchase actions: one shared width rail and one global spacing token. */
.pfs-product-summary { --pf-action-gap:var(--pf-space-sm); }
.pfs-product-summary form.variations_form,
.pfs-product-summary .wp-block-woocommerce-add-to-cart-form,
.pfs-product-summary .wp-block-add-to-cart-form,
.pfs-product-summary form.cart,
.pfs-product-summary .single_variation_wrap {
  width:100% !important; max-width:none !important; min-width:0 !important;
  margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important;
}
.pfs-product-summary .woocommerce-variation-add-to-cart {
  display:grid !important; grid-template-columns:92px minmax(0,1fr) !important;
  column-gap:var(--pf-action-gap) !important; align-items:stretch !important;
  width:100% !important; max-width:none !important; min-width:0 !important;
  margin:0 !important; padding-top:var(--pf-space-md) !important;
  border-top:1px solid var(--pf-line) !important; overflow:visible !important;
}
.pfs-product-summary .woocommerce-variation-add-to-cart::before,
.pfs-product-summary .woocommerce-variation-add-to-cart::after { content:none !important; display:none !important; }
.pfs-product-summary .quantity { display:grid !important; grid-template-columns:27px 1fr 27px; width:92px !important; min-width:92px !important; height:var(--pf-control-h) !important; margin:0 !important; overflow:hidden; border:1px solid #cfcfcb; border-radius:5px; background:#fff; }
.pfs-product-summary .quantity input.qty { width:100% !important; min-width:0; height:48px; padding:0; border:0; text-align:center; box-shadow:none; appearance:textfield; font-weight:800; }
.pfs-qty-button { height:48px; padding:0; border:0; background:#fff; color:var(--pf-ink); font-size:18px; cursor:pointer; }
.pfs-product-summary .single_add_to_cart_button { width:100% !important; max-width:none !important; min-width:0 !important; min-height:var(--pf-control-h) !important; height:var(--pf-control-h) !important; margin:0 !important; border:1px solid var(--pf-ink) !important; border-radius:5px !important; background:var(--pf-ink) !important; color:#fff !important; font-size:12px !important; font-weight:900 !important; letter-spacing:.02em; text-transform:uppercase; }
.pfs-product-summary .single_add_to_cart_button::after { content:"→"; margin-left:10px; font-size:15px; line-height:1; }
.pfs-buy-now { display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; max-width:none !important; min-width:0 !important; min-height:var(--pf-control-h) !important; height:var(--pf-control-h) !important; margin:var(--pf-action-gap) 0 0 !important; padding:0 18px !important; border:1px solid var(--pf-ink) !important; border-radius:5px !important; background:#fff !important; color:var(--pf-ink) !important; box-shadow:none !important; font-size:12px; font-weight:900; letter-spacing:.02em; text-transform:uppercase; cursor:pointer; }
.pfs-buy-now::before,.pfs-buy-now::after { content:none !important; display:none !important; }
.pfs-buy-now:hover:not(:disabled) { background:var(--pf-yellow) !important; border-color:var(--pf-yellow) !important; color:var(--pf-ink) !important; }
.pfs-buy-now:disabled { opacity:.45; cursor:not-allowed; }
.pfs-form-message { display:none; width:100%; margin:var(--pf-space-xs) 0 0; color:#a32626; font-size:11px; }
.pfs-form-message.is-visible { display:block; }

/* Express payments are a separate section, using the same section spacing. */
.pfs-product-summary :is(.wc-stripe-product-checkout-container,.wc-stripe-payment-request-wrapper,#wc-stripe-payment-request-wrapper,.wcpay-express-checkout-wrapper,.wcpay-payment-request-wrapper,.ppcp-button-wrapper) {
  display:block !important; width:100% !important; max-width:none !important; min-width:0 !important;
  margin:var(--pf-space-md) 0 0 !important; padding:var(--pf-space-md) 0 0 !important;
  border-top:1px solid var(--pf-line) !important; box-sizing:border-box !important;
}
.pfs-product-summary :is(.wc-stripe-product-checkout-container,.wc-stripe-payment-request-wrapper,#wc-stripe-payment-request-wrapper,.wcpay-express-checkout-wrapper,.wcpay-payment-request-wrapper,.ppcp-button-wrapper) :is(ul,div,button,[role="button"],iframe) { max-width:100% !important; box-sizing:border-box !important; }
.pfs-product-summary :is(#wc-stripe-payment-request-button,#wcpay-payment-request-button,.wcpay-payment-request-button,.ppcp-button-wrapper) { width:100% !important; margin-left:0 !important; margin-right:0 !important; }
.pfs-purchase-benefits {
  grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:var(--pf-space-md); padding-top:var(--pf-space-md); border-top:1px solid var(--pf-line);
}
.pfs-purchase-benefit { display:grid; grid-template-columns:24px 1fr; align-items:center; gap:6px; margin:0; font-size:8.5px; line-height:1.3; }
.pfs-purchase-benefit::before { grid-column:1; grid-row:1; }

/* Product information */
.pfs-product-information { margin-top:8px; }
.pfs-info-mobile { display:none; }
.pfs-info-tabs { gap:25px; overflow-x:auto; border-bottom:1px solid var(--pf-line); }
.pfs-info-tab .wp-block-button__link { padding:12px 4px 10px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent !important; color:var(--pf-ink) !important; font-size:10.5px; font-weight:800; white-space:nowrap; }
.pfs-info-tab.is-active .wp-block-button__link { border-bottom-color:var(--pf-ink); }
.pfs-info-panel { display:none; min-height:92px; padding:16px 4px 8px; font-size:13px; line-height:1.6; }
.pfs-info-panel.is-active { display:block; animation:pfs-panel-in .22s ease both; }
.pfs-info-panel .wp-block-post-content > :first-child { margin-top:0; }
.pfs-size-panel .wp-block-columns { gap:30px; align-items:center !important; }
.pfs-size-image { max-width:175px; margin:0 auto; padding:12px; border-radius:10px; background:transparent; }
.pfs-size-image img { display:block; width:100%; max-height:165px; object-fit:contain; border:0; background:transparent; }
.pfs-size-table { margin:0; overflow-x:auto; border:1px solid var(--pf-line); border-radius:8px; background:#fff; }
.pfs-size-table table { width:100%; min-width:590px; border:0; border-collapse:collapse; font-size:11px; }
.pfs-size-table th,.pfs-size-table td { padding:10px 8px; border:0; border-right:1px solid #e7e7e2; border-bottom:1px solid #e7e7e2; text-align:center; }
.pfs-size-table tr:last-child td { border-bottom:0; }
.pfs-size-table th:last-child,.pfs-size-table td:last-child { border-right:0; }
.pfs-size-table th:first-child,.pfs-size-table td:first-child { text-align:left; font-weight:900; }
.pfs-size-table thead { background:var(--pf-yellow); color:var(--pf-ink); }
.pfs-size-table tbody tr:nth-child(even) { background:#fafaf8; }
.pfs-size-table tbody td:first-child { background:#fff; }
.pfs-related-section { margin-top:28px; }
.pfs-related-section > h2 { margin:0 0 12px; font-size:18px; }
.pfs-related-products ul.wc-block-product-template { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:12px !important; }
.pfs-related-products li.wc-block-product { padding:9px; border:1px solid var(--pf-line); border-radius:6px; }
.pfs-no-related:empty,.pfs-no-related:empty + * { display:none; }
.pfs-product-detail .wc-block-components-product-rating,.pfs-product-detail .woocommerce-product-rating { display:none !important; }

@keyframes pfs-panel-in { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }

/* Footer */
.pfs-footer { margin: 0; padding: 0 0 26px; background: #fff; }
.pfs-footer-banner { min-height: 180px; overflow: hidden; padding: 28px 34px; border-radius: var(--pf-radius); background: linear-gradient(90deg, rgba(5, 5, 5, .98), rgba(5, 5, 5, .58) 52%, rgba(5, 5, 5, .98)), var(--pfs-news) center / cover no-repeat; color: #fff; }
.pfs-footer-banner h2, .pfs-footer-banner h3 { margin-top: 0; color: #fff; }
.pfs-footer-banner h2 { margin-bottom: 10px; font-size: 24px; }
.pfs-footer-banner p { margin: 0 0 12px; color: #ddd; font-size: 12px; }
.pfs-about-button .wp-block-button__link { padding: 7px 18px; background: var(--pf-yellow); color: var(--pf-ink); font-size: 10px; }
.pfs-newsletter-form .hostinger-reach-block-form-fields { display: flex; max-width: 390px; }
.pfs-newsletter-form .hostinger-reach-block-form-field { flex: 1; }
.pfs-newsletter-form input[type=email] { width: 100%; height: 44px; padding: 0 15px; border: 0; border-radius: 5px 0 0 5px; }
.pfs-newsletter-form button { width: 82px !important; height: 44px !important; padding: 0 10px !important; border: 0 !important; border-radius: 0 5px 5px 0 !important; background: var(--pf-yellow) !important; color: var(--pf-ink) !important; font-size: 11px !important; font-weight: 900 !important; }
.pfs-social { gap: 14px; margin-top: 12px; }
.pfs-footer-main { grid-template-columns: 1.35fr repeat(4, minmax(140px, 1fr)); gap: 34px; padding: 26px 12px 10px; }
.pfs-footer-brand .pfs-site-logo { margin-bottom: 18px; }
.pfs-footer-main details { border: 0; }
.pfs-footer-main summary { list-style: none; pointer-events: none; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.pfs-footer-main summary::-webkit-details-marker { display: none; }
.pfs-footer-main details:not([open]) > *:not(summary) { display: block; }
.pfs-footer-main ul { margin: 9px 0 0; padding: 0; list-style: none; }
.pfs-footer-main li, .pfs-footer-main p { font-size: 12px; line-height: 1.75; }
.pfs-footer-bottom { gap: 44px; padding: 0 12px; }
.pfs-footer-bottom p { margin: 0; color: #444; font-size: 10px; }

/* Tablet */
@media (max-width: 1024px) {
  body.pfs-storefront .alignwide { width: min(100% - 28px, var(--pf-wide)); }
  .pfs-service-bar { gap: 28px; }
  .pfs-header-main { min-height: 82px; }
  .pfs-site-logo, .pfs-site-logo a { width: 150px; flex-basis: 150px; height: 48px; }
  .pfs-primary-nav .wp-block-navigation__container { gap: 18px; }
  .pfs-primary-nav .wp-block-navigation-item__content { font-size: 12px; }
  .pfs-hero > .wp-block-columns, .pfs-hero-visual { min-height: 450px; }
  .pfs-hero-visual .pfs-hero-media { height: 450px; min-height: 450px !important; }
  .pfs-hero-copy { padding-inline: 32px; }
  .pfs-hero-copy h1 { font-size: 52px; }
  .pfs-benefits-home { grid-template-columns: repeat(5, 1fr); gap: 10px; }
  .pfs-benefit { padding-left: 35px; }
  .pfs-benefit::before { width: 27px; height: 27px; }
  .pfs-product-query .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .pfs-footer-main { grid-template-columns: 1.2fr repeat(2, 1fr); }
}

/* Mobile */
@media (max-width: 760px) {
  html { scroll-behavior: auto; }
  body.pfs-storefront .alignwide { width: calc(100% - 24px); }
  .pfs-service-bar { display: none !important; }
  body.single-product .pfs-service-bar { display: grid !important; grid-template-columns: 1fr; gap: 3px; padding: 7px 14px; }
  body.single-product .pfs-service-item { justify-content: center; font-size: 9px; }
  body.single-product .pfs-service-item::before { width: 15px; height: 15px; }
  .pfs-header-main { min-height: 66px; padding: 8px 12px; display: grid !important; grid-template-columns: 40px 1fr 78px; gap: 6px; }
  .pfs-site-logo { grid-column: 2; grid-row: 1; justify-self: center; width: 128px; margin: 0; }
  .pfs-site-logo a { width: 128px; height: 40px; }
  .pfs-primary-nav { grid-column: 1; grid-row: 1; justify-self: start; }
  .pfs-primary-nav .wp-block-navigation__responsive-container-open { display: grid; place-items: center; width: 38px; height: 38px; }
  .pfs-primary-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
  .pfs-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; }
  .pfs-header-tools { grid-column: 3; grid-row: 1; gap: 10px; justify-self: end; }
  .pfs-header-search { display: none; }
  .pfs-account svg, .pfs-mini-cart svg { width: 22px !important; height: 22px !important; }

  .pfs-hero { width: 100vw; max-width: 100vw; margin: 0 calc(50% - 50vw); background: #f3f3f1; }
  .pfs-hero > .wp-block-columns { min-height: 0; display: grid; grid-template-columns: 1fr; }
  .pfs-hero-copy { min-height: 275px; padding: 25px 22px 16px; }
  .pfs-hero-copy::after { display: none; }
  .pfs-hero-copy h1 { font-size: 38px; line-height: .94; }
  .pfs-lead { margin: 16px 0 15px; font-size: 13px; }
  .pfs-hero-buttons { display: grid !important; grid-template-columns: 1fr; gap: 8px; }
  .pfs-hero-buttons .wp-block-button { width: 100%; }
  .pfs-hero-buttons .wp-block-button__link { width: 100%; min-height: 39px; padding: 0 14px; font-size: 10px; }
  .pfs-hero-visual { min-height: 225px; background: transparent; }
  .pfs-hero-visual .pfs-hero-media { height: 225px; min-height: 225px !important; }
  .pfs-hero:not(:has(.pfs-hero-media)) .pfs-hero-visual { background: var(--pfs-hero) center / cover no-repeat; }
  .pfs-benefits-home { grid-template-columns: 1fr; gap: 0; padding: 0; }
  .pfs-benefits-home .pfs-benefit { min-height: 46px; padding: 9px 34px 9px 42px; border-bottom: 1px solid var(--pf-line); }
  .pfs-benefits-home .pfs-benefit::after { content: "›"; position: absolute; top: 10px; right: 8px; font-size: 21px; }
  .pfs-benefits-home .pfs-benefit::before { top: 10px; left: 8px; width: 25px; height: 25px; }
  .pfs-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
  .pfs-category { min-height: 185px; padding: 15px 13px; }
  .pfs-category h2 { margin-bottom: 5px; font-size: 15px; }
  .pfs-category > p:not(.pfs-arrow) { font-size: 10px; }
  .pfs-arrow { bottom: 12px; left: 13px; }
  .pfs-arrow a { font-size: 24px; }
  .pfs-section { margin-bottom: 24px; }
  .pfs-section-heading h2 { font-size: 20px; }
  .pfs-section-heading p { font-size: 9px; }
  .pfs-product-query .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px; }

  .pfs-catalog { padding-bottom: 26px; }
  .pfs-catalog-hero { min-height: 180px; padding-top: 15px; }
  .pfs-catalog-hero::after { width: 45%; height: 145px; }
  .pfs-catalog-hero .wp-block-query-title { max-width: 60%; font-size: 31px; }
  .pfs-catalog-hero .term-description { max-width: 62%; font-size: 12px; }
  .pfs-catalog-benefits { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 15px 0; }
  .pfs-catalog-benefits .pfs-benefit { min-height: 62px; padding: 32px 2px 0; text-align: center; }
  .pfs-catalog-benefits .pfs-benefit::before { top: 0; left: 50%; width: 26px; height: 26px; transform: translateX(-50%); }
  .pfs-catalog-benefits .pfs-benefit h3 { font-size: 8px; }
  .pfs-catalog-benefits .pfs-benefit p { font-size: 7px; }
  .pfs-catalog-toolbar { gap: 8px; }
  .pfs-catalog-toolbar > * { flex: 1 1 45%; }
  .pfs-catalog-toolbar select { width: 100%; min-width: 0; }
  .pfs-catalog-products ul.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }

  .pfs-product-detail { padding-top: 10px; }
  .pfs-product-detail > .wc-block-breadcrumbs { font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pfs-product-main { display: block !important; }
  .pfs-product-detail .woocommerce-product-gallery { display: flex !important; flex-direction: column; gap: 8px; }
  .pfs-product-detail .woocommerce-product-gallery .flex-viewport { order: 1; }
  .pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs { order: 2; display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 8px; }
  .pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; height: auto; aspect-ratio: 1; }
  .pfs-product-summary { padding: 12px 0 0; }
  .pfs-product-badge { font-size: 8px; }
  .pfs-product-title { font-size: 25px; }
  .pfs-product-summary .wp-block-woocommerce-product-summary { font-size: 12px; }
  .pfs-price-stock .wp-block-woocommerce-product-price { font-size: 23px; }
  .pfs-variant-button { min-width: 34px; height: 30px; padding-inline: 8px; font-size: 10px; }
  .pfs-product-summary .woocommerce-variation-add-to-cart { grid-template-columns:88px minmax(0,1fr) !important; column-gap:var(--pf-space-sm) !important; row-gap:var(--pf-space-sm) !important; }
  .pfs-purchase-benefits { margin-top:var(--pf-space-md); padding-top:var(--pf-space-md); border-top:1px solid var(--pf-line); }
  .pfs-purchase-benefit { display: flex; flex-direction: column; gap: 5px; text-align: center; font-size: 8px; }
  .pfs-info-desktop { display: none; }
  .pfs-info-mobile { display: block; overflow: hidden; border: 1px solid var(--pf-line); border-radius: 6px; }
  .pfs-mobile-product-section { margin: 0; border-bottom: 1px solid var(--pf-line); }
  .pfs-mobile-product-section:last-child { border-bottom: 0; }
  .pfs-mobile-product-section summary { display: flex; justify-content: space-between; align-items: center; padding: 14px 12px; cursor: pointer; list-style: none; font-size: 11px; font-weight: 800; text-transform: uppercase; }
  .pfs-mobile-product-section summary::-webkit-details-marker { display: none; }
  .pfs-mobile-product-section summary::after { content: "⌄"; font-size: 17px; transition: transform .2s ease; }
  .pfs-mobile-product-section[open] summary::after { transform: rotate(180deg); }
  .pfs-mobile-product-section > :not(summary) { margin-right: 12px; margin-left: 12px; }
  .pfs-mobile-product-section[open] { padding-bottom: 14px; }
  .pfs-mobile-product-section[open] summary { margin-bottom: 12px; border-bottom: 1px solid var(--pf-line); }
  .pfs-mobile-product-section .wp-block-post-content { font-size: 12px; line-height: 1.55; }
  .pfs-mobile-size-section .pfs-size-image { max-width: 150px; }
  .pfs-mobile-size-section .pfs-size-image img { max-height: 140px; }
  .pfs-mobile-size-section .pfs-size-table { margin-top: 12px; }
  .pfs-related-section { margin-top: 20px; }
  .pfs-related-products ul.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .pfs-footer { padding-bottom: 14px; }
  .pfs-footer-banner { width: calc(100% - 24px); min-height: 260px; padding: 23px 18px; }
  .pfs-footer-banner .wp-block-columns { display: block; }
  .pfs-footer-banner h2 { font-size: 20px; }
  .pfs-footer-banner h3 { margin-top: 20px; font-size: 15px; }
  .pfs-footer-main { width: calc(100% - 24px); display: block; padding: 10px 0; }
  .pfs-footer-brand { padding: 10px 0 16px; }
  .pfs-footer-main details { border-top: 1px solid var(--pf-line); }
  .pfs-footer-main summary { display: flex; justify-content: space-between; padding: 14px 0; pointer-events: auto; cursor: pointer; }
  .pfs-footer-main summary::after { content: "+"; }
  .pfs-footer-main details[open] summary::after { content: "×"; }
  .pfs-footer-main details:not([open]) > *:not(summary) { display: none; }
  .pfs-footer-bottom { width: calc(100% - 24px); justify-content: space-between !important; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* Standard content pages */
.pfs-page { padding: 30px 0 58px; }
.pfs-page-shell { max-width: 920px; margin: 0 auto; }
.pfs-page-kicker { margin: 0 0 9px; color: var(--pf-muted); font-size: 12px; font-weight: 700; }
.pfs-page-title { margin: 0 0 24px; font-size: clamp(34px, 4vw, 52px); line-height: 1; letter-spacing: -.035em; }
.pfs-page-content { font-size: 15px; line-height: 1.72; }
.pfs-page-content > :first-child { margin-top: 0; }
.pfs-page-content h2 { margin-top: 34px; font-size: 24px; line-height: 1.15; }
.pfs-page-content h3 { margin-top: 26px; font-size: 18px; }
.pfs-page-content a { text-decoration-color: var(--pf-yellow); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.pfs-page-content table { width: 100%; border-collapse: collapse; }
.pfs-page-content th { background: var(--pf-yellow); color: var(--pf-ink); }
.pfs-page-content th, .pfs-page-content td { padding: 11px 12px; border: 1px solid var(--pf-line); text-align: left; }
.pfs-page-content blockquote { margin: 24px 0; padding: 16px 18px; border-left: 4px solid var(--pf-yellow); background: #fff9e5; }


/* ==========================================================================
   WooCommerce system UI — consolidated 0.5.0
   ========================================================================== */
.pfs-system-page { padding:34px 0 66px; }
.pfs-system-page-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.pfs-system-page-content { width:100%; }

body.pfs-storefront :where(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) {
  width:100%; min-height:58px; margin:14px 0 20px !important; padding:10px 12px !important;
  border:1px solid #d8d8d3 !important; border-radius:6px !important;
  background:#fff !important; color:var(--pf-ink) !important; box-shadow:none !important;
  font-size:13px !important; line-height:1.45 !important;
}
body.pfs-storefront :where(.woocommerce-message,.woocommerce-info) { display:grid !important; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:12px; }
body.pfs-storefront :where(.woocommerce-message,.woocommerce-info)::before { content:"✓" !important; position:static !important; display:grid !important; place-items:center; width:30px; height:30px; margin:0 !important; border-radius:50%; background:var(--pf-yellow); color:var(--pf-ink); font-size:14px; font-weight:950; line-height:1; }
body.pfs-storefront .woocommerce-info::before { content:"i" !important; }
body.pfs-storefront .woocommerce-error { display:block !important; border-left:5px solid #b42318 !important; padding:13px 14px !important; }
body.pfs-storefront .woocommerce-error::before { content:none !important; display:none !important; }
body.pfs-storefront .wc-block-components-notice-banner { display:flex !important; align-items:center; gap:12px; border-left:0 !important; }
body.pfs-storefront .wc-block-components-notice-banner > svg { display:block !important; flex:0 0 30px; width:30px !important; height:30px !important; padding:6px; border-radius:50%; background:var(--pf-yellow); fill:var(--pf-ink) !important; }
body.pfs-storefront .wc-block-components-notice-banner__content { display:flex; flex:1 1 auto; align-items:center; justify-content:space-between; gap:14px; min-width:0; }
body.pfs-storefront :where(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) a:not(.button):not(.wc-forward) { color:var(--pf-ink) !important; font-weight:800; text-decoration-color:var(--pf-yellow); text-decoration-thickness:2px; text-underline-offset:3px; }
body.pfs-storefront :where(.woocommerce-message,.woocommerce-info) .button,
body.pfs-storefront .wc-block-components-notice-banner .wc-forward { float:none !important; display:inline-flex !important; align-items:center; justify-content:center; min-height:40px !important; margin:0 !important; padding:0 15px !important; border:1px solid var(--pf-ink) !important; border-radius:5px !important; background:var(--pf-ink) !important; color:#fff !important; box-shadow:none !important; font-size:10px !important; font-weight:900 !important; line-height:1 !important; letter-spacing:.02em; text-transform:uppercase; text-decoration:none !important; }
body.pfs-storefront :where(.woocommerce-message,.woocommerce-info) .button:hover,
body.pfs-storefront .wc-block-components-notice-banner .wc-forward:hover { border-color:var(--pf-yellow) !important; background:var(--pf-yellow) !important; color:var(--pf-ink) !important; }


body.pfs-storefront :where(.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button) {
  min-height:44px; border:1px solid var(--pf-ink) !important; border-radius:5px !important; background:var(--pf-ink) !important; color:#fff !important;
  box-shadow:none !important; font-size:11px !important; font-weight:900 !important; letter-spacing:.02em; text-transform:uppercase;
}
body.pfs-storefront :where(.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):hover {
  border-color:var(--pf-yellow) !important; background:var(--pf-yellow) !important; color:var(--pf-ink) !important; transform:none !important;
}
body.pfs-storefront :where(.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select) {
  min-height:44px; border:1px solid #cececa !important; border-radius:5px !important; background:#fff !important; color:var(--pf-ink) !important; box-shadow:none !important;
}
body.pfs-storefront :where(.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select):focus {
  border-color:var(--pf-ink) !important; outline:2px solid rgba(242,182,0,.20) !important; outline-offset:1px;
}

body.pfs-storefront :where(.wc-block-cart,.wc-block-checkout,.woocommerce-cart-form,.woocommerce-checkout,.woocommerce-account .woocommerce) { margin-block:24px 48px; }
body.pfs-storefront :where(.wc-block-cart-items,.woocommerce-cart-form__contents,.shop_table) {
  overflow:hidden; border:1px solid var(--pf-line) !important; border-radius:7px !important; border-collapse:separate; border-spacing:0; background:#fff; box-shadow:none !important;
}
body.pfs-storefront :where(.wc-block-cart-items thead,.woocommerce-cart-form__contents thead,.shop_table thead) { background:#f7f7f5; }
body.pfs-storefront :where(.wc-block-cart-items th,.wc-block-cart-items td,.woocommerce-cart-form__contents th,.woocommerce-cart-form__contents td,.shop_table th,.shop_table td) { border-color:var(--pf-line) !important; }

/* Summary cards: one flush top accent, no pseudo-element teeth or title underlines. */
body.pfs-storefront :where(.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-MyAccount-content) {
  position:relative; overflow:hidden; border:1px solid var(--pf-line) !important; border-radius:7px !important; background:#fff !important; box-shadow:none !important;
}
body.pfs-storefront :where(.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.cart_totals) { border-top:7px solid var(--pf-yellow) !important; }
body.pfs-storefront :where(.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.cart_totals)::before,
body.pfs-storefront :where(.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.cart_totals)::after,
body.pfs-storefront :where(.wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title,.woocommerce-order-details__title,.woocommerce-column__title)::before,
body.pfs-storefront :where(.wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title,.woocommerce-order-details__title,.woocommerce-column__title)::after {
  content:none !important; display:none !important;
}
.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.woocommerce-cart .cart_totals { padding:var(--pf-space-lg) !important; }
.wc-block-cart__sidebar > *, .wc-block-checkout__sidebar > *, .woocommerce-cart .cart_totals > * { width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important; }
.wc-block-cart__sidebar :where(.wc-block-components-totals-wrapper,.wc-block-components-totals-item,.wc-block-components-totals-coupon,.wc-block-components-order-summary),
.wc-block-checkout__sidebar :where(.wc-block-components-totals-wrapper,.wc-block-components-totals-item,.wc-block-components-totals-coupon,.wc-block-components-order-summary) {
  width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important;
}
.wc-block-cart__sidebar :where(.wc-block-cart__submit,.wc-block-components-button),
.wc-block-checkout__sidebar :where(.wc-block-components-checkout-place-order-button,.wc-block-components-button),
.woocommerce-cart .cart_totals .checkout-button,
.woocommerce-checkout #place_order { width:100% !important; max-width:100% !important; min-width:0 !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important; }

/* Cart item media: exactly one normal thumbnail; catalogue hover assets never belong here. */
body.pfs-storefront :where(.wc-block-cart,.wc-block-checkout,.woocommerce-cart,.woocommerce-checkout) .pfs-card-hover-image,
body.pfs-storefront :where(.wc-block-cart,.wc-block-checkout,.woocommerce-cart,.woocommerce-checkout) .pfs-card-meta { display:none !important; }
body.pfs-storefront .wc-block-cart-items .wc-block-cart-item__image img { display:block; width:76px !important; height:76px !important; object-fit:contain !important; }

body.pfs-storefront .woocommerce-MyAccount-navigation ul { margin:0; padding:0; overflow:hidden; border:1px solid var(--pf-line); border-radius:7px; list-style:none; }
body.pfs-storefront .woocommerce-MyAccount-navigation li a { display:block; padding:11px 14px; border-bottom:1px solid var(--pf-line); color:var(--pf-ink); font-size:12px; font-weight:800; text-decoration:none; }
body.pfs-storefront .woocommerce-MyAccount-navigation li:last-child a { border-bottom:0; }
body.pfs-storefront .woocommerce-MyAccount-navigation li.is-active a { background:var(--pf-yellow); }

body.pfs-storefront.woocommerce-order-received :where(.woocommerce-thankyou-order-received,.woocommerce-notice--success) {
  margin:0 0 22px !important; padding:18px 20px !important; border:1px solid var(--pf-line) !important; border-left:5px solid var(--pf-yellow) !important;
  border-radius:5px !important; background:#fff !important; color:var(--pf-ink) !important; box-shadow:none !important; font-size:16px !important; font-weight:850 !important;
}
body.pfs-storefront.woocommerce-order-received .woocommerce-order-overview { border-top:7px solid var(--pf-yellow) !important; border-radius:7px !important; box-shadow:none !important; }

/* Catalogue card data; only injected into actual Product Collection items. */
.pfs-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:20px; margin:0; padding:1px 0 2px; }
.pfs-card-size-range { color:#5f5f5f; font-size:10px; font-weight:850; line-height:1; letter-spacing:.055em; white-space:nowrap; }
.pfs-card-size-range--empty { min-width:1px; }
.pfs-card-swatches { display:inline-flex; align-items:center; justify-content:flex-end; gap:5px; min-width:0; }
.pfs-card-swatch { display:block; width:14px; height:14px; flex:0 0 14px; border:1px solid #bdbdb8; border-radius:50%; background:var(--pfs-card-swatch,#d8d8d5); box-shadow:inset 0 0 0 2px #fff; }
.pfs-card-swatch-more { color:#777; font-size:9px; font-weight:850; line-height:1; white-space:nowrap; }
.pfs-card-hover-image { position:absolute !important; inset:0 !important; z-index:2 !important; width:100% !important; height:100% !important; padding:0 !important; object-fit:contain !important; opacity:0; pointer-events:none; transition:opacity .22s ease; }
.pfs-catalog-products .wc-block-components-product-image,.pfs-product-query .wc-block-components-product-image,.pfs-related-products .wc-block-components-product-image { position:relative !important; overflow:hidden !important; }
.pfs-catalog-products li.wc-block-product:hover .pfs-card-hover-image,.pfs-product-query li.wc-block-product:hover .pfs-card-hover-image,.pfs-related-products li.wc-block-product:hover .pfs-card-hover-image { opacity:1; }

/* Cookie-consent plugins: visual layer only. */
body.pfs-storefront :where(.cmplz-cookiebanner,.cky-consent-bar,#cookie-law-info-bar) { border:1px solid var(--pf-line) !important; border-radius:7px !important; background:#fff !important; color:var(--pf-ink) !important; box-shadow:0 12px 30px rgba(0,0,0,.12) !important; font-family:inherit !important; }
body.pfs-storefront :where(.cmplz-cookiebanner,.cky-consent-bar) :where(.cmplz-btn,.cky-btn) { min-height:40px !important; border:1px solid var(--pf-ink) !important; border-radius:5px !important; font-weight:800 !important; }
body.pfs-storefront :where(.cmplz-cookiebanner,.cky-consent-bar) :where(.cmplz-accept,.cky-btn-accept) { background:var(--pf-yellow) !important; color:var(--pf-ink) !important; }

@media (max-width:760px) {
  .pfs-system-page { padding:22px 0 44px; }
  .pfs-system-page-shell { width:calc(100% - 24px); }
  .wc-block-cart__sidebar,.wc-block-checkout__sidebar,.woocommerce-cart .cart_totals { padding:18px !important; }
  body.pfs-storefront :where(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) { padding:11px 12px !important; }
  body.pfs-storefront :where(.woocommerce-message,.woocommerce-info,.woocommerce-error) .button,
  body.pfs-storefront .wc-block-components-notice-banner .wc-forward { float:none; display:table; margin:10px 0 0 !important; }
  .pfs-card-meta { gap:6px; }
  .pfs-card-size-range { font-size:9px; }
  .pfs-card-swatches { gap:4px; }
  .pfs-card-swatch { width:12px; height:12px; flex-basis:12px; }
}


/* ========================================================================== Pilsen Flow 0.6.2 requested fixes */
.pfs-home-products ul.wc-block-product-template { grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:12px !important; }
.pfs-category[role="link"] { cursor:pointer; }
.pfs-category[role="link"]:focus-visible { outline:3px solid rgba(242,182,0,.55); outline-offset:3px; }
.pfs-category[role="link"]:hover .pfs-arrow a { transform:translateX(4px); }
.pfs-arrow a { display:inline-block; transition:transform .16s ease; }
body.pfs-storefront :is(.wc-block-mini-cart__drawer,.wc-block-mini-cart__drawer .wc-block-components-drawer__content,.wc-block-mini-cart__drawer .wc-block-mini-cart__items) :is(.pfs-card-hover-image,.pfs-card-meta) { display:none !important; }
.pfs-product-summary :is(form.variations_form,form.cart,.single_variation_wrap,.woocommerce-variation-add-to-cart,.pfs-buy-now,.wc-stripe-product-checkout-container,.wc-stripe-payment-request-wrapper,#wc-stripe-payment-request-wrapper,.wcpay-express-checkout-wrapper,.wcpay-payment-request-wrapper,.ppcp-button-wrapper) { box-sizing:border-box !important; width:100% !important; max-width:100% !important; min-width:0 !important; }
.pfs-product-detail .woocommerce-product-gallery .flex-viewport { overflow:hidden !important; }
.pfs-product-detail .woocommerce-product-gallery__image img { transform:none !important; transform-origin:center center !important; }
.pfs-product-detail .woocommerce-product-gallery__image:hover img { transform:none !important; }
@media (max-width:1024px) and (min-width:761px) { .pfs-home-products ul.wc-block-product-template { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (max-width:760px) {
  .pfs-home-products ul.wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  .pfs-product-detail .woocommerce-product-gallery__image img,.pfs-product-detail .woocommerce-product-gallery__image:hover img { transform:none !important; }
  body.pfs-storefront :where(.woocommerce-message,.woocommerce-info) { grid-template-columns:30px minmax(0,1fr) !important; }
  body.pfs-storefront :where(.woocommerce-message,.woocommerce-info) .button { grid-column:2; justify-self:start; margin-top:8px !important; }
  body.pfs-storefront .wc-block-components-notice-banner__content { align-items:flex-start; flex-direction:column; }
}


/* 0.6.3: real product image size — up to 550px wide, proportional. */
@media (min-width:761px) {
  .pfs-product-main {
    gap:34px !important;
  }
  .pfs-product-gallery-column {
    flex:0 1 650px !important;
    flex-basis:650px !important;
    max-width:650px !important;
  }
  .pfs-product-summary {
    flex:1 1 0 !important;
    flex-basis:auto !important;
    min-width:360px;
  }
  .pfs-product-detail .woocommerce-product-gallery .flex-viewport {
    width:100% !important;
    max-width:550px !important;
  }
  .pfs-product-detail .woocommerce-product-gallery__image img,
  .pfs-product-detail .woocommerce-product-gallery__image:hover img {
    display:block !important;
    width:100% !important;
    max-width:550px !important;
    height:auto !important;
    max-height:none !important;
    margin:0 auto !important;
    object-fit:contain !important;
    transform:none !important;
  }
}


/* Product cards: never use a cropped Woo thumbnail. Full image is contained. */
.pfs-catalog-products .wc-block-components-product-image,
.pfs-product-query .wc-block-components-product-image,
.pfs-related-products .wc-block-components-product-image,
.pfs-home-products .wc-block-components-product-image {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  background:#f7f7f5;
}
.pfs-catalog-products .wc-block-components-product-image > a,
.pfs-product-query .wc-block-components-product-image > a,
.pfs-related-products .wc-block-components-product-image > a,
.pfs-home-products .wc-block-components-product-image > a {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}
.pfs-catalog-products .wc-block-components-product-image img:not(.pfs-card-hover-image),
.pfs-product-query .wc-block-components-product-image img:not(.pfs-card-hover-image),
.pfs-related-products .wc-block-components-product-image img:not(.pfs-card-hover-image),
.pfs-home-products .wc-block-components-product-image img:not(.pfs-card-hover-image) {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  padding:8px !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.pfs-card-hover-image {
  padding:8px !important;
  object-fit:contain !important;
}


/* One exact action/payment rail: Add to cart, Buy now, Apple Pay / Google Pay. */
.pfs-product-summary {
  --pf-purchase-rail:100%;
}
.pfs-product-summary :is(
  .wp-block-woocommerce-add-to-cart-form,
  .wp-block-add-to-cart-form,
  form.cart,
  form.variations_form,
  .single_variation_wrap,
  .woocommerce-variation-add-to-cart,
  .pfs-buy-now,
  .wc-stripe-product-checkout-container,
  .wc-stripe-express-checkout-container,
  .wc-stripe-payment-request-wrapper,
  #wc-stripe-payment-request-wrapper,
  .wcpay-express-checkout-wrapper,
  .wcpay-payment-request-wrapper,
  .ppcp-button-wrapper,
  .wc-block-components-express-payment,
  .wc-block-components-express-payment__event-buttons
) {
  width:var(--pf-purchase-rail) !important;
  max-width:var(--pf-purchase-rail) !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.pfs-product-summary .woocommerce-variation-add-to-cart {
  justify-items:stretch !important;
}
.pfs-product-summary .single_add_to_cart_button {
  justify-self:stretch !important;
  box-sizing:border-box !important;
}
.pfs-product-summary :is(
  .wc-stripe-product-checkout-container,
  .wc-stripe-express-checkout-container,
  .wc-stripe-payment-request-wrapper,
  #wc-stripe-payment-request-wrapper,
  .wcpay-express-checkout-wrapper,
  .wcpay-payment-request-wrapper,
  .ppcp-button-wrapper,
  .wc-block-components-express-payment,
  .wc-block-components-express-payment__event-buttons
) :is(ul,ol,li,div,button,[role="button"],iframe) {
  max-width:100% !important;
  box-sizing:border-box !important;
}
.pfs-product-summary :is(
  #wc-stripe-payment-request-button,
  .wc-stripe-payment-request-button,
  #wcpay-payment-request-button,
  .wcpay-payment-request-button,
  .wc-block-components-express-payment__event-buttons,
  .wc-block-components-express-payment__event-buttons > ul
) {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}


/* ==========================================================================
   0.6.4 — Standard WordPress administration
   Front page content now comes from Pages -> the configured static front page.
   ========================================================================== */
.pfs-home-standard-admin,
.pfs-home-standard-admin > .pfs-home-content,
.pfs-home-standard-admin > .pfs-home-content > .pfs-home-layout {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.pfs-home-standard-admin .pfs-home-content > :first-child {
  margin-block-start:0;
}
.pfs-home-standard-admin .pfs-home-content > :last-child {
  margin-block-end:0;
}

/* If the administrator uses ordinary blocks instead of the supplied pattern,
   do not impose artificial theme content. */
.pfs-home-standard-admin .pfs-home-content:empty {
  min-height:40vh;
}


/* ==========================================================================
   Pilsen Flow 0.6.5 — gallery follows admin, mini-cart stays clean
   ========================================================================== */

/* Gallery thumbnails use an uncropped image source and contain the entire item. */
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs li {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:4px !important;
}
.pfs-product-detail .woocommerce-product-gallery .flex-control-thumbs img {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Belt-and-suspenders: catalogue hover/meta can never appear in any mini-cart markup. */
body.pfs-storefront [class*="wc-block-mini-cart"] :is(.pfs-card-hover-image,.pfs-card-meta),
body.pfs-storefront [role="dialog"] :is(.pfs-card-hover-image,.pfs-card-meta) {
  display:none !important;
}


/* ==========================================================================
   Pilsen Flow 0.6.6 — tablet / global full-width shell
   Full-bleed outer chrome, centered inner content.
   ========================================================================== */

/* Parent theme must never constrain the site's outer shell. */
html,
body.pfs-storefront,
body.pfs-storefront .wp-site-blocks {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

body.pfs-storefront .wp-site-blocks {
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:clip;
}

/* Template Part BLOCK itself must be full width, not only its inner group. */
body.pfs-storefront .wp-site-blocks > .wp-block-template-part,
body.pfs-storefront .wp-site-blocks > header.wp-block-template-part,
body.pfs-storefront .wp-site-blocks > footer.wp-block-template-part {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Full-width means actual full outer rail. */
body.pfs-storefront .alignfull,
body.pfs-storefront .pfs-header,
body.pfs-storefront .pfs-service-bar,
body.pfs-storefront .pfs-footer,
body.pfs-storefront .pfs-footer-banner {
  max-width:none !important;
}

/* Wide content always really centered — never inherited left anchoring. */
body.pfs-storefront .alignwide,
body.pfs-storefront .pfs-header-main,
body.pfs-storefront .pfs-footer-main,
body.pfs-storefront .pfs-footer-bottom {
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Header outer blocks are edge-to-edge. */
body.pfs-storefront .pfs-header {
  width:100% !important;
  margin:0 !important;
}
body.pfs-storefront .pfs-service-bar {
  width:100% !important;
  margin:0 !important;
}

/* Header content rail. */
body.pfs-storefront .pfs-header-main {
  width:min(var(--pf-wide), calc(100% - 48px)) !important;
  max-width:var(--pf-wide) !important;
}

/* Footer: full-width visual banner; its columns are centered to the same rail. */
body.pfs-storefront .pfs-footer {
  width:100% !important;
  margin:0 !important;
}
body.pfs-storefront .pfs-footer-banner {
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
}
body.pfs-storefront .pfs-footer-banner > .wp-block-columns {
  width:min(var(--pf-wide), calc(100% - 48px)) !important;
  max-width:var(--pf-wide) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Tablet: full outer backgrounds, comfortable centered inner gutters. */
@media (max-width:1024px) {
  body.pfs-storefront .alignwide,
  body.pfs-storefront .pfs-header-main,
  body.pfs-storefront .pfs-footer-main,
  body.pfs-storefront .pfs-footer-bottom {
    width:calc(100% - 28px) !important;
    max-width:var(--pf-wide) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.pfs-storefront .pfs-footer-banner {
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.pfs-storefront .pfs-footer-banner > .wp-block-columns {
    width:calc(100% - 28px) !important;
    max-width:var(--pf-wide) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Mobile: same architecture, smaller inner gutter. */
@media (max-width:760px) {
  body.pfs-storefront .alignwide,
  body.pfs-storefront .pfs-header-main,
  body.pfs-storefront .pfs-footer-main,
  body.pfs-storefront .pfs-footer-bottom {
    width:calc(100% - 24px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.pfs-storefront .pfs-footer-banner {
    width:100% !important;
    min-height:260px;
    margin:0 !important;
    padding:23px 0 !important;
    border-radius:0 !important;
  }

  body.pfs-storefront .pfs-footer-banner > .wp-block-columns {
    width:calc(100% - 24px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* ==========================================================================
   Pilsen Flow 0.6.7 — desktop full-bleed regression fix
   0.6.6 reset .wp-site-blocks but parent theme root body padding could remain.
   ========================================================================== */

html,
body.pfs-storefront {
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.pfs-storefront {
  box-sizing:border-box !important;
  overflow-x:hidden;
}

body.pfs-storefront .wp-site-blocks {
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Outer chrome must touch the viewport edges on desktop as well as tablet. */
body.pfs-storefront :is(.pfs-header,.pfs-service-bar,.pfs-footer,.pfs-footer-banner) {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}


/* ==========================================================================
   Pilsen Flow 0.6.8 — side-cart hard isolation
   Catalogue enhancements are opt-in in PHP. These rules are only a fallback
   for stale cached HTML already carrying an old pfs-card artifact.
   ========================================================================== */
body.pfs-storefront [role="dialog"] .pfs-card-hover-image,
body.pfs-storefront [role="dialog"] .pfs-card-meta,
body.pfs-storefront [class*="mini-cart"] .pfs-card-hover-image,
body.pfs-storefront [class*="mini-cart"] .pfs-card-meta {
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  position:absolute !important;
  pointer-events:none !important;
}


/* ==========================================================================
   Pilsen Flow 0.6.9 — isolated mini-cart + homepage card normalization
   ========================================================================== */

/* Homepage Novinky use the same card grid rhythm as Catalogue. */
body.pfs-storefront .pfs-home-content .pfs-home-products ul.wc-block-product-template,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products ul.wc-block-product-template {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

/* Same card shell as catalogue even when the homepage block was saved earlier
   in post_content before the current theme pattern was introduced. */
body.pfs-storefront .pfs-home-content .pfs-home-products li.wc-block-product,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products li.wc-block-product {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  padding:10px !important;
  border:1px solid var(--pf-line);
  border-radius:var(--pf-radius);
  background:#fff;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

body.pfs-storefront .pfs-home-content .pfs-home-products li.wc-block-product:hover,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products li.wc-block-product:hover {
  transform:translateY(-3px);
  border-color:#bcbcb7;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wp-block-post-title,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wp-block-post-title {
  margin:4px 0 0 !important;
  font-size:14px !important;
  font-weight:800;
  line-height:1.25;
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wp-block-woocommerce-product-price,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wp-block-woocommerce-product-price {
  margin:0 !important;
  font-size:17px;
  font-weight:900;
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wc-block-components-product-button,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wc-block-components-product-button {
  margin-top:auto;
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wc-block-components-product-button__button,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wc-block-components-product-button__button {
  width:100%;
  min-height:36px;
  border:1px solid #b9b9b5;
  border-radius:4px;
  background:#fff !important;
  color:transparent !important;
  font-size:0 !important;
  font-weight:900;
  text-transform:uppercase;
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wc-block-components-product-button__button::after,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wc-block-components-product-button__button::after {
  content:"DETAIL";
  color:var(--pf-ink);
  font-size:11px;
  font-weight:900;
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wc-block-components-product-button__button:hover,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wc-block-components-product-button__button:hover {
  border-color:var(--pf-ink);
  background:var(--pf-ink) !important;
}

body.pfs-storefront .pfs-home-content .pfs-home-products .wc-block-components-product-button__button:hover::after,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products .wc-block-components-product-button__button:hover::after {
  color:#fff;
}

@media (max-width:760px) {
  body.pfs-storefront .pfs-home-content .pfs-home-products ul.wc-block-product-template,
  body.pfs-storefront .pfs-home-standard-admin .pfs-home-products ul.wc-block-product-template {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}


/* ==========================================================================
   Pilsen Flow 0.6.10 — precise isolated UI fixes
   ========================================================================== */

/* 1) Quantity selector: one outer border only.
   Parent/Woo input styles must not draw the rounded inner notch. */
.pfs-product-summary .quantity {
  overflow:hidden !important;
}
.pfs-product-summary .quantity input.qty,
.pfs-product-summary .quantity .qty {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:48px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  appearance:textfield !important;
  -webkit-appearance:none !important;
}
.pfs-product-summary .quantity input.qty::-webkit-inner-spin-button,
.pfs-product-summary .quantity input.qty::-webkit-outer-spin-button {
  margin:0;
  -webkit-appearance:none;
}

/* 2) The yellow service bar is genuine viewport chrome.
   100vw + viewport centering breaks out of ANY constrained/group parent. */
body.pfs-storefront .pfs-service-bar {
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
}

/* 3) Homepage Novinky: WordPress constrained layout was still limiting the
   Product Collection to contentSize. Let it occupy the same alignwide rail
   as Catalogue. This changes layout only, never product data/content. */
body.pfs-storefront .pfs-new-products {
  max-width:var(--pf-wide) !important;
}
body.pfs-storefront .pfs-new-products > .wp-block-woocommerce-product-collection,
body.pfs-storefront .pfs-new-products > .pfs-home-products,
body.pfs-storefront .pfs-home-content .pfs-home-products,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.pfs-storefront .pfs-home-content .pfs-home-products ul.wc-block-product-template,
body.pfs-storefront .pfs-home-standard-admin .pfs-home-products ul.wc-block-product-template {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

@media (max-width:760px) {
  body.pfs-storefront .pfs-home-content .pfs-home-products ul.wc-block-product-template,
  body.pfs-storefront .pfs-home-standard-admin .pfs-home-products ul.wc-block-product-template {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}


/* Pilsen Flow 0.6.17 — one visible price for a selected variation.
   The main product price is synchronized in JS; Woo's secondary variation
   price remains in the DOM for compatibility but is not shown twice. */
.pfs-product-summary .single_variation .woocommerce-variation-price {
  display:none !important;
}


/* Pilsen Flow 0.6.20 — only offer valid variation choices. */
.pfs-enhanced-variations .pfs-variant-button.pfs-option-unavailable,
.pfs-enhanced-variations .pfs-variant-button[hidden] {
  display:none !important;
}


/* Pilsen Flow 0.6.22 — server-matrix availability final guard. */
.pfs-enhanced-variations .pfs-variant-button[hidden] {
  display:none !important;
}


/* Design taxonomy detail */
.pfs-design-detail{padding:0 0 42px;background:#fff;color:var(--pf-ink)}
.pfs-design-shell{width:min(100% - 48px,1180px);margin:0 auto}
.pfs-design-breadcrumbs{display:flex;gap:8px;align-items:center;padding:14px 0 16px;font-size:12px;color:#666}
.pfs-design-breadcrumbs a{color:inherit;text-decoration:none}
.pfs-design-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:36px;align-items:start}
.pfs-design-media{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;min-width:0}
.pfs-design-main-image{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;min-height:520px;border:1px solid var(--pf-line);border-radius:8px;background:#f5f5f3;overflow:hidden}
.pfs-design-main-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}
.pfs-design-image-placeholder{font-size:40px;font-weight:900;color:#d2d2cd}
.pfs-design-image-strip{display:flex;gap:10px}
.pfs-design-gallery{grid-column:1;grid-row:1;flex-direction:column}
.pfs-design-thumb{width:88px;height:88px;padding:0;border:1px solid var(--pf-line);border-radius:6px;background:#f5f5f3;overflow:hidden;cursor:pointer}
.pfs-design-thumb:hover,.pfs-design-thumb:focus{border-color:var(--pf-ink)}
.pfs-design-thumb img{width:100%;height:100%;object-fit:contain}
.pfs-design-summary{padding:10px 0 0}
.pfs-design-badge{display:inline-flex;margin:0 0 10px;padding:4px 8px;border-radius:3px;background:var(--pf-yellow);font-size:10px;font-weight:900;text-transform:uppercase}
.pfs-design-summary h1{margin:0 0 8px;font-size:clamp(34px,3.2vw,52px);line-height:.98;letter-spacing:-.04em}
.pfs-design-subtitle{margin:0 0 14px;font-size:14px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
.pfs-design-description{max-width:600px;font-size:15px;line-height:1.55}
.pfs-design-description p{margin:0 0 10px}
.pfs-design-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 0;padding:18px 0;border-top:1px solid var(--pf-line);border-bottom:1px solid var(--pf-line)}
.pfs-design-benefit{position:relative;min-height:48px;padding-left:35px}
.pfs-design-benefit::before{content:"";position:absolute;left:0;top:2px;width:25px;height:25px;background:var(--pf-ink);mask-position:center;mask-repeat:no-repeat;mask-size:contain}
.pfs-design-benefit-local::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.1 7-13a7 7 0 1 0-14 0c0 6.9 7 13 7 13Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='9' r='2.4' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E")}
.pfs-design-benefit-original::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 20 4-1 11-11-3-3L5 16l-1 4Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='m14 7 3 3' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E")}
.pfs-design-benefit-quality::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 8 3 3 5-7 5 7 3-3-2 12H6L4 8Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M7 15h10' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E")}
.pfs-design-benefit-heart::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20S4 15.2 4 9.4A4.4 4.4 0 0 1 12 6a4.4 4.4 0 0 1 8 3.4C20 15.2 12 20 12 20Z' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E")}
.pfs-design-benefit strong,.pfs-design-benefit span{display:block}
.pfs-design-benefit strong{font-size:10px;text-transform:uppercase}
.pfs-design-benefit span{margin-top:3px;font-size:10px;color:#666}
.pfs-design-mobile-cta{display:none}
.pfs-design-products{margin:28px 0 30px}
.pfs-design-products>h2,.pfs-design-section>summary{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.pfs-design-product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pfs-design-product-card{position:relative;min-width:0;padding:10px;border:1px solid var(--pf-line);border-radius:6px;background:#fff}
.pfs-design-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;margin:0 0 8px;background:#f5f5f3;border-radius:4px;overflow:hidden}
.pfs-design-product-image img{width:100%;height:100%;object-fit:contain}
.pfs-design-product-card h3{margin:0 25px 4px 0;font-size:12px;line-height:1.25}
.pfs-design-product-card h3 a{color:inherit;text-decoration:none}
.pfs-design-product-price{font-size:12px;font-weight:900}
.pfs-design-product-arrow{position:absolute;right:10px;bottom:10px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--pf-line);border-radius:4px;color:var(--pf-ink);text-decoration:none}
.pfs-design-product-arrow:hover{background:var(--pf-ink);color:#fff}
.pfs-design-lower{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:34px 0 0}
.pfs-design-section{border:0}
.pfs-design-section>summary{list-style:none;cursor:default}
.pfs-design-section>summary::-webkit-details-marker{display:none}
.pfs-design-section-body{font-size:14px;line-height:1.55}
.pfs-design-story{grid-column:1}
.pfs-design-variants{grid-column:1}
.pfs-design-related{grid-column:2;grid-row:1/span 2}
.pfs-design-variant-strip{flex-wrap:wrap}
.pfs-design-variant-strip .pfs-design-thumb{width:110px;height:78px}
.pfs-related-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pfs-related-design-card{padding:10px;border:1px solid var(--pf-line);border-radius:6px;background:#fff}
.pfs-related-design-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1.3/1;background:#f5f5f3;border-radius:4px;overflow:hidden}
.pfs-related-design-image img{width:100%;height:100%;object-fit:contain}
.pfs-related-design-placeholder{width:100%;height:100%;background:#f1f1ee}
.pfs-related-design-card h3{margin:8px 0 0;font-size:12px}
.pfs-related-design-card h3 a{color:inherit;text-decoration:none}
.pfs-design-empty{margin:0;padding:18px;border:1px dashed var(--pf-line);font-size:13px;color:#666}

@media (max-width:900px){
 .pfs-design-shell{width:min(100% - 28px,760px)}
 .pfs-design-top{grid-template-columns:1fr;gap:20px}
 .pfs-design-media{grid-template-columns:1fr}
 .pfs-design-main-image{grid-column:1;grid-row:1;min-height:0}
 .pfs-design-main-image img{max-height:none}
 .pfs-design-gallery{grid-column:1;grid-row:2;flex-direction:row;overflow:auto;padding-bottom:2px}
 .pfs-design-thumb{flex:0 0 72px;width:72px;height:72px}
 .pfs-design-summary{padding-top:0}
 .pfs-design-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pfs-design-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:600px){
 .pfs-design-detail{padding-bottom:24px}
 .pfs-design-shell{width:calc(100% - 24px)}
 .pfs-design-breadcrumbs{padding:10px 0 12px;font-size:10px}
 .pfs-design-main-image{border-radius:6px}
 .pfs-design-summary h1{font-size:30px}
 .pfs-design-subtitle{font-size:12px}
 .pfs-design-description{font-size:13px}
 .pfs-design-benefits{display:block;margin-top:18px;padding:0;border:1px solid var(--pf-line);border-radius:6px;overflow:hidden}
 .pfs-design-benefit{min-height:54px;padding:12px 38px 12px 44px;border-bottom:1px solid var(--pf-line)}
 .pfs-design-benefit:last-child{border-bottom:0}
 .pfs-design-benefit::before{left:12px;top:14px;width:21px;height:21px}
 .pfs-design-benefit::after{content:"⌄";position:absolute;right:14px;top:17px;font-size:15px}
 .pfs-design-mobile-cta{display:flex;align-items:center;justify-content:center;min-height:46px;margin:12px 0 0;border-radius:4px;background:var(--pf-ink);color:#fff;font-size:11px;font-weight:900;text-decoration:none;text-transform:uppercase}
 .pfs-design-products{margin-top:22px}
 .pfs-design-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .pfs-design-product-card{padding:8px}
 .pfs-design-lower{display:block;margin-top:24px}
 .pfs-design-section{border-top:1px solid var(--pf-line)}
 .pfs-design-section:last-child{border-bottom:1px solid var(--pf-line)}
 .pfs-design-section>summary{position:relative;margin:0;padding:14px 30px 14px 0;cursor:pointer}
 .pfs-design-section>summary::after{content:"+";position:absolute;right:2px;top:13px;font-size:18px}
 .pfs-design-section[open]>summary::after{content:"×"}
 .pfs-design-section-body{padding:0 0 16px;font-size:13px}
 .pfs-related-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Designs list page */
.pfs-design-list-page{padding:0 0 48px;background:#fff;color:var(--pf-ink)}
.pfs-design-list-shell{width:min(100% - 48px,1180px);margin:0 auto}
.pfs-design-list-header{max-width:760px;padding:34px 0 28px}
.pfs-design-list-kicker{margin:0 0 6px;color:#666;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pfs-design-list-header h1{margin:0 0 10px;font-size:clamp(38px,4vw,58px);line-height:.96;letter-spacing:-.045em}
.pfs-design-list-header>p:last-child{margin:0;max-width:620px;font-size:16px;line-height:1.5;color:#555}
.pfs-design-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pfs-design-list-card{min-width:0;border:1px solid var(--pf-line);border-radius:8px;background:#fff;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pfs-design-list-card:hover{transform:translateY(-3px);border-color:#bdbdb8;box-shadow:0 12px 28px rgba(0,0,0,.06)}
.pfs-design-list-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1.45/1;background:#f5f5f3;overflow:hidden}
.pfs-design-list-image img{display:block;width:100%;height:100%;object-fit:contain}
.pfs-design-list-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:22px;font-weight:900;color:#d2d2cd}
.pfs-design-list-copy{padding:16px}
.pfs-design-list-meta{margin:0 0 6px;font-size:10px;font-weight:900;color:#777;text-transform:uppercase;letter-spacing:.05em}
.pfs-design-list-card h2{margin:0 0 8px;font-size:22px;line-height:1.06;letter-spacing:-.025em}
.pfs-design-list-card h2 a{color:inherit;text-decoration:none}
.pfs-design-list-card p{margin:0 0 14px;color:#60605c;font-size:13px;line-height:1.5}
.pfs-design-list-link{display:inline-flex;align-items:center;gap:8px;color:var(--pf-ink);font-size:11px;font-weight:900;text-decoration:none;text-transform:uppercase}
.pfs-design-list-link span{font-size:18px;line-height:1;transition:transform .15s ease}
.pfs-design-list-card:hover .pfs-design-list-link span{transform:translateX(3px)}
.pfs-design-list-empty{width:min(100% - 48px,1180px);margin:32px auto;padding:22px;border:1px dashed var(--pf-line);font-size:14px;color:#666}

@media (max-width:900px){
 .pfs-design-list-shell{width:min(100% - 28px,760px)}
 .pfs-design-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
 .pfs-design-list-shell{width:calc(100% - 24px)}
 .pfs-design-list-header{padding:24px 0 20px}
 .pfs-design-list-header h1{font-size:34px}
 .pfs-design-list-header>p:last-child{font-size:14px}
 .pfs-design-list-grid{grid-template-columns:1fr;gap:12px}
 .pfs-design-list-image{aspect-ratio:1.6/1}
 .pfs-design-list-copy{padding:14px}
 .pfs-design-list-card h2{font-size:20px}
}


/* 0.6.31 customer corrections — global section rhythm */
.pfs-home-layout > .pfs-hero + .pfs-new-products{margin-top:24px}
.pfs-home-layout > .pfs-new-products + .pfs-category-grid{margin-top:28px}
.pfs-home-layout > .pfs-category-grid + .pfs-benefits-home{margin-top:24px;margin-bottom:30px}
.pfs-catalog-products + .pfs-catalog-benefits{margin-bottom:8px}

/* Explicitly chosen full-size theme images must never be stretched beyond their source box. */
.pfs-card-hover-image,
.pfs-design-product-image img,
.pfs-related-design-image img,
.pfs-design-list-image img{image-rendering:auto}

@media (max-width: 782px){
  .pfs-catalog{padding-bottom:28px}
  .pfs-catalog-hero{min-height:88px;padding:8px 0 6px}
  .pfs-catalog-hero::after{height:82px;width:42%}
  .pfs-catalog-hero .wp-block-query-title{margin:5px 0 3px;font-size:30px}
  .pfs-catalog-toolbar{padding-top:8px;margin-bottom:10px}
  .pfs-catalog-products + .pfs-catalog-benefits{margin-top:22px}
  .pfs-home-layout > .pfs-hero + .pfs-new-products{margin-top:18px}
  .pfs-home-layout > .pfs-new-products + .pfs-category-grid{margin-top:22px}
  .pfs-home-layout > .pfs-category-grid + .pfs-benefits-home{margin-top:18px;margin-bottom:22px}
}

@media (max-width: 600px){
  .pfs-catalog-hero{min-height:76px}
  .pfs-catalog-hero::after{height:70px;width:40%}
  .pfs-catalog-hero .wp-block-query-title{font-size:27px}
  .pfs-catalog-benefits{margin-top:18px;padding:16px 0}
  .pfs-home-layout > .pfs-hero + .pfs-new-products{margin-top:14px}
  .pfs-home-layout > .pfs-new-products + .pfs-category-grid{margin-top:18px}
  .pfs-home-layout > .pfs-category-grid + .pfs-benefits-home{margin-top:14px;margin-bottom:18px}
}


/* 0.6.32 live fixes */
.pfs-home-layout > .pfs-new-products{margin-top:24px !important;margin-bottom:0}
.pfs-home-layout > .pfs-category-grid{margin-top:28px !important}
.pfs-home-layout > .pfs-benefits-home{margin-top:24px !important;margin-bottom:30px !important}

@media (max-width:782px){
  .pfs-home-layout > .pfs-new-products{margin-top:18px !important}
  .pfs-home-layout > .pfs-category-grid{margin-top:22px !important}
  .pfs-home-layout > .pfs-benefits-home{margin-top:18px !important;margin-bottom:22px !important}
}

@media (max-width:600px){
  .pfs-home-layout > .pfs-new-products{margin-top:14px !important}
  .pfs-home-layout > .pfs-category-grid{margin-top:18px !important}
  .pfs-home-layout > .pfs-benefits-home{margin-top:14px !important;margin-bottom:18px !important}
}


/* 0.6.34 — simple Home category CTAs */
.pfs-home-cta-strip{
  width:min(100% - 48px,1180px);
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pfs-home-cta{
  min-height:88px;
  padding:18px 20px;
  border:1px solid var(--pf-line);
  border-radius:6px;
  background:#fff;
  color:var(--pf-ink);
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  transition:border-color .15s ease,transform .15s ease;
}
.pfs-home-cta:hover{
  border-color:#a9a9a4;
  transform:translateY(-1px);
}
.pfs-home-cta-title{
  font-size:20px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.pfs-home-cta-status{
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#777;
}

@media (max-width:782px){
  .pfs-home-cta-strip{
    width:min(100% - 28px,760px);
    margin-top:22px;
  }
}
@media (max-width:600px){
  .pfs-home-cta-strip{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }
  .pfs-home-cta{
    min-height:72px;
    padding:15px 16px;
  }
  .pfs-home-cta-title{font-size:18px}
}


/* 0.6.35 — Home category cards:
   Shirts/Hoodies restored to original visual-card behaviour,
   Accessories retained as a non-clickable "Připravujeme" card. */
.pfs-home-category-cards{
  width:min(100% - 48px,1180px);
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pfs-home-category-card{
  position:relative;
  min-height:260px;
  border-radius:6px;
  overflow:hidden;
  padding:24px 22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  color:#fff;
  text-decoration:none;
  background-size:cover;
  background-position:center;
}
.pfs-home-category-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.08));
  pointer-events:none;
}
.pfs-home-category-copy,
.pfs-home-category-card .pfs-arrow{
  position:relative;
  z-index:1;
}
.pfs-home-category-title{
  display:block;
  margin:0 0 12px;
  font-size:24px;
  line-height:1;
  font-weight:900;
  color:#fff;
}
.pfs-home-category-text{
  display:block;
  font-size:14px;
  line-height:1.45;
  font-weight:600;
  color:#fff;
}
.pfs-home-category-card .pfs-arrow{
  margin-top:auto;
  font-size:30px;
  line-height:1;
  font-weight:700;
  color:var(--pf-yellow,#f2b600);
}
.pfs-home-category-card--coming{
  cursor:default;
}
.pfs-home-category-coming{
  display:inline-block;
  margin-top:4px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.65);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  color:#fff;
  text-transform:uppercase;
}
.pfs-home-category-card:not(.pfs-home-category-card--coming){
  transition:transform .16s ease,filter .16s ease;
}
.pfs-home-category-card:not(.pfs-home-category-card--coming):hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}

@media (max-width:782px){
  .pfs-home-category-cards{
    width:min(100% - 28px,760px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:22px;
  }
  .pfs-home-category-card{
    min-height:230px;
  }
  .pfs-home-category-card--coming{
    grid-column:1 / -1;
    min-height:170px;
  }
}
@media (max-width:600px){
  .pfs-home-category-cards{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }
  .pfs-home-category-card,
  .pfs-home-category-card--coming{
    grid-column:auto;
    min-height:200px;
    padding:20px 18px;
  }
  .pfs-home-category-title{font-size:22px}
}


/* 0.6.37 customer corrections */
.pfs-category-archive .pfs-catalog-hero::after{display:none!important}
.pfs-category-archive .pfs-catalog-hero{min-height:78px;padding-top:8px;padding-bottom:8px}

.pfs-card-swatches{display:flex;flex-wrap:wrap;gap:5px;max-width:100%}
.pfs-card-swatch{width:14px!important;height:14px!important;min-width:14px;border-radius:50%}
.pfs-card-swatch-more{display:none!important}

/* Design cards only */
.pfs-design-list-image,.pfs-related-design-image{
  aspect-ratio:1.38/1;
  overflow:hidden;
  background:#f3f3f1;
}
.pfs-design-list-image img,.pfs-related-design-image img{
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center;
}

/* Home category arrows */
.pfs-home-category-card .pfs-arrow{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  width:34px;
  height:24px;
  margin:0!important;
  padding:0!important;
  border:0!important;
  font-size:0!important;
  line-height:1!important;
  text-decoration:none!important;
}
.pfs-home-category-card .pfs-arrow::before{
  content:"→";
  display:block;
  font-size:30px;
  line-height:24px;
  font-weight:700;
  color:var(--pf-yellow,#f2b600);
}

.pfs-coming-soon-catalog{
  width:min(100% - 48px,1180px);
  margin:24px auto 12px;
  padding:54px 28px;
  border:1px solid var(--pf-line);
  border-radius:8px;
  text-align:center;
  background:#fafafa;
}
.pfs-coming-soon-kicker{
  margin:0 0 8px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  color:#777;
}
.pfs-coming-soon-catalog h2{
  margin:0 0 8px;
  font-size:clamp(32px,4vw,48px);
  line-height:1;
}
.pfs-coming-soon-catalog p:last-child{
  margin:0 auto;
  max-width:520px;
  color:#666;
}

@media (max-width:782px){
  .pfs-category-archive .pfs-catalog-hero{min-height:68px}
  .pfs-coming-soon-catalog{width:min(100% - 28px,760px);padding:42px 22px}
}
@media (max-width:600px){
  .pfs-card-swatch{width:15px!important;height:15px!important;min-width:15px}
  .pfs-coming-soon-catalog{width:calc(100% - 24px);margin-top:18px;padding:34px 18px}
}


/* 0.6.39 — hard stop for Novinky archive hero artwork.
   This suppresses both pseudo-element and any inherited/background fallback. */
body.pfs-novinky-view .pfs-catalog-hero::after,
body.pfs-novinky-view .pfs-catalog-hero::before{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
}
body.pfs-novinky-view .pfs-catalog-hero{
  background:none!important;
  background-image:none!important;
  min-height:78px;
}

/* Hero headline typography: preserve diacritics between tight stacked lines. */
.pfs-hero-copy h1,
.pfs-hero h1{
  line-height:1.02!important;
}
.pfs-hero-copy h1 mark,
.pfs-hero h1 mark{
  line-height:inherit;
  display:inline;
}

@media (max-width:782px){
  .pfs-hero-copy h1,
  .pfs-hero h1{
    line-height:1.04!important;
  }
}


/* 0.6.40 — Design detail cleanup */
.pfs-design-story{display:none!important}
.pfs-design-related-block{
  margin:42px 0 0;
  padding-top:28px;
  border-top:1px solid var(--pf-line);
}
.pfs-design-related-block > h2{
  margin:0 0 18px;
  font-size:clamp(26px,2.4vw,34px);
  line-height:1;
}
.pfs-design-related-block .pfs-related-design-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.pfs-design-related-block .pfs-related-design-card{min-width:0}
.pfs-design-related-block .pfs-related-design-image{
  display:block;
  width:100%;
  aspect-ratio:1.38/1;
  overflow:hidden;
}
.pfs-design-related-block .pfs-related-design-image img{
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center;
}
.pfs-design-related-block .pfs-related-design-card h3{
  margin:10px 0 0;
  font-size:16px;
  line-height:1.15;
}
@media (max-width:900px){
  .pfs-design-related-block .pfs-related-design-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:600px){
  .pfs-design-related-block{margin-top:28px;padding-top:22px}
  .pfs-design-related-block .pfs-related-design-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
}


/* 0.6.41 — MailPoet newsletter styling, footer only */
.pfs-footer .mailpoet_form,
.pfs-footer .mailpoet_form form{
  margin:0;
}

.pfs-footer .mailpoet_form form,
.pfs-footer .mailpoet_form .mailpoet_form_columns{
  display:flex;
  align-items:flex-end;
  gap:10px;
}

.pfs-footer .mailpoet_paragraph{
  margin:0;
}

.pfs-footer .mailpoet_text_label,
.pfs-footer .mailpoet_form label{
  display:block;
  margin:0 0 6px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.pfs-footer input.mailpoet_text,
.pfs-footer input.mailpoet_email{
  width:100%;
  height:38px;
  padding:0 12px;
  border:1px solid #d5d5d5;
  border-radius:2px;
  background:#fff;
  color:#111;
  box-sizing:border-box;
  box-shadow:none;
}

.pfs-footer input.mailpoet_text:focus,
.pfs-footer input.mailpoet_email:focus{
  outline:2px solid rgba(242,182,0,.35);
  outline-offset:1px;
  border-color:#f2b600;
}

.pfs-footer input.mailpoet_submit,
.pfs-footer button.mailpoet_submit,
.pfs-footer .mailpoet_submit{
  height:38px;
  min-height:38px;
  padding:0 18px;
  border:1px solid #f2b600;
  border-radius:2px;
  background:#f2b600;
  color:#111;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:none;
  text-transform:none;
}

.pfs-footer input.mailpoet_submit:hover,
.pfs-footer button.mailpoet_submit:hover,
.pfs-footer .mailpoet_submit:hover{
  background:#ffc400;
  border-color:#ffc400;
  color:#111;
}

@media (max-width:600px){
  .pfs-footer .mailpoet_form form,
  .pfs-footer .mailpoet_form .mailpoet_form_columns{
    display:block;
  }

  .pfs-footer input.mailpoet_text,
  .pfs-footer input.mailpoet_email,
  .pfs-footer input.mailpoet_submit,
  .pfs-footer button.mailpoet_submit,
  .pfs-footer .mailpoet_submit{
    width:100%;
  }

  .pfs-footer input.mailpoet_submit,
  .pfs-footer button.mailpoet_submit,
  .pfs-footer .mailpoet_submit{
    margin-top:10px;
  }
}

/* 0.6.42 — MailPoet footer alignment + success message */
.pfs-footer .mailpoet_form form,
.pfs-footer .mailpoet_form .mailpoet_form_columns{
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.pfs-footer input.mailpoet_text,
.pfs-footer input.mailpoet_email{
  width:260px;
  max-width:100%;
  height:40px;
  min-height:40px;
  margin:0!important;
}

.pfs-footer input.mailpoet_submit,
.pfs-footer button.mailpoet_submit,
.pfs-footer .mailpoet_submit{
  height:40px;
  min-height:40px;
  margin:0!important;
  padding:0 16px;
  line-height:1;
}

.pfs-footer .mailpoet_message,
.pfs-footer .mailpoet_validate_success,
.pfs-footer .mailpoet_form_successfully_send{
  flex:0 0 100%;
  width:100%;
  max-width:360px;
  margin:12px 0 0!important;
  padding:0!important;
  text-align:left!important;
  align-self:flex-start;
  justify-self:start;
}

.pfs-footer .mailpoet_message p,
.pfs-footer .mailpoet_validate_success,
.pfs-footer .mailpoet_form_successfully_send p{
  margin:0!important;
  padding:0!important;
  color:#fff;
  font-size:14px;
  line-height:1.35;
  text-align:left!important;
}

@media (max-width:600px){
  .pfs-footer .mailpoet_form form,
  .pfs-footer .mailpoet_form .mailpoet_form_columns{
    display:block;
  }

  .pfs-footer input.mailpoet_text,
  .pfs-footer input.mailpoet_email,
  .pfs-footer input.mailpoet_submit,
  .pfs-footer button.mailpoet_submit,
  .pfs-footer .mailpoet_submit{
    width:100%;
  }

  .pfs-footer input.mailpoet_submit,
  .pfs-footer button.mailpoet_submit,
  .pfs-footer .mailpoet_submit{
    margin-top:8px!important;
  }

  .pfs-footer .mailpoet_message,
  .pfs-footer .mailpoet_validate_success,
  .pfs-footer .mailpoet_form_successfully_send{
    max-width:none;
    margin-top:10px!important;
  }
}


/* 0.6.43 — MailPoet success state: keep the same anchor and prevent recenter/jump */
.pfs-footer .mailpoet_form{
  width:100%;
  max-width:430px;
  min-height:72px;
  margin-left:0!important;
  margin-right:auto!important;
  text-align:left!important;
}

.pfs-footer .mailpoet_form form,
.pfs-footer .mailpoet_form .mailpoet_form_columns{
  width:100%;
  justify-content:flex-start!important;
  margin-left:0!important;
  margin-right:auto!important;
  text-align:left!important;
}

.pfs-footer .mailpoet_message,
.pfs-footer .mailpoet_validate_success,
.pfs-footer .mailpoet_form_successfully_send{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:block;
  width:100%!important;
  max-width:360px!important;
  margin:12px auto 0 0!important;
  padding:0!important;
  text-align:left!important;
  align-self:flex-start!important;
  justify-self:start!important;
}

.pfs-footer .mailpoet_message *,
.pfs-footer .mailpoet_validate_success *,
.pfs-footer .mailpoet_form_successfully_send *{
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}

@media (max-width:600px){
  .pfs-footer .mailpoet_form{
    max-width:none;
    min-height:0;
  }

  .pfs-footer .mailpoet_message,
  .pfs-footer .mailpoet_validate_success,
  .pfs-footer .mailpoet_form_successfully_send{
    max-width:none!important;
  }
}


/* 0.6.44 — MailPoet footer: override form-ID spacing that offsets the submit button */
.pfs-footer .mailpoet_form .mailpoet_form_column{
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.pfs-footer .mailpoet_form .mailpoet_paragraph{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.pfs-footer .mailpoet_form .mailpoet_form_columns{
  align-items:flex-end!important;
}
@media (max-width:600px){
  .pfs-footer .mailpoet_form .mailpoet_form_column{
    width:100%!important;
  }}
