/* Pen House / Parker — draft theme only.
   Purposefully scoped to the Raed storefront. No content replacements.
   Grid rules exclude carousel tracks; root should confirm selectors in preview. */

body.theme-raed {
  --ph-ivory: #f8f6f1;
  --ph-paper: #fffefa;
  --ph-ink: #2d2521;
  --ph-muted: #6b625a;
  --ph-gold: #aa9160;
  --ph-line: #ded6c6;
  --ph-radius: 12px;
  background-color: var(--ph-ivory);
}

/* Editorial introduction and optional brand film. Use real HTML for all copy. */
body.theme-raed .ph-hero {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  align-items: center;
  gap: clamp(32px, 6vw, 88px);
  width: min(calc(100% - 48px), 1120px);
  margin: 28px auto 64px;
  padding: clamp(30px, 5vw, 64px);
  border: 1px solid var(--ph-line);
  border-radius: 16px;
  background: var(--ph-paper);
  color: var(--ph-ink);
}

body.theme-raed .ph-hero-copy {
  min-width: 0;
  max-width: 610px;
  text-align: start;
}

body.theme-raed .ph-eyebrow {
  margin: 0 0 18px;
  color: #6d5b35;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.theme-raed .ph-title {
  margin: 0;
  color: var(--ph-ink);
  font-size: clamp(31px, 3.4vw, 49px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.02em;
  text-wrap: balance;
}

body.theme-raed .ph-lead {
  max-width: 49ch;
  margin: 24px 0 0;
  color: var(--ph-muted);
  font-size: clamp(15px, 1.2vw, 17px);
  font-weight: 400;
  line-height: 1.9;
}

body.theme-raed .ph-cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  max-width: 100%;
  margin-top: 28px;
  padding: 12px 25px;
  border: 1px solid var(--ph-ink);
  border-radius: 6px;
  background: var(--ph-ink);
  color: var(--ph-paper);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

body.theme-raed .ph-cta:hover {
  background: #46372c;
  border-color: #46372c;
  color: var(--ph-paper);
}

/* Preserve the portrait footage; never crop important pen/product detail. */
body.theme-raed .ph-film {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 280px;
  aspect-ratio: 480 / 848;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--ph-line);
  border-radius: 10px;
  background: #151a18;
  box-shadow: 0 15px 38px rgb(32 43 41 / 10%);
}

body.theme-raed video.ph-film,
body.theme-raed .ph-film video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 480 / 848;
  object-fit: contain;
  background: #151a18;
}

/* Verified vertical card lists only; leave horizontal rows and Swiper layouts native. */
body.theme-raed .s-products-list-wrapper.s-products-list-vertical-cards:not(.swiper-wrapper):not(:has(> .swiper)) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
}

body.theme-raed .s-products-list-wrapper.s-products-list-vertical-cards:not(.swiper-wrapper):not(:has(> .swiper)) > * {
  min-width: 0;
  height: auto;
}

body.theme-raed .s-product-card-entry {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--ph-line);
  border-radius: var(--ph-radius);
  background: var(--ph-paper);
  color: var(--ph-ink);
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.theme-raed .s-product-card-entry:hover {
  border-color: var(--ph-gold);
  box-shadow: 0 8px 24px rgb(32 43 41 / 6%);
}

body.theme-raed .s-product-card-vertical {
  display: flex;
  flex-direction: column;
}

body.theme-raed .s-product-card-vertical .s-product-card-image {
  flex: 0 0 auto;
  height: auto;
  aspect-ratio: 1 / 1;
  background: #fff;
}

body.theme-raed .s-product-card-vertical .s-product-card-image img {
  width: 100%;
  height: 100%;
  padding: 16px;
  object-fit: contain;
  object-position: center;
  transform: none;
}

body.theme-raed .s-product-card-vertical .s-product-card-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}

body.theme-raed .s-product-card-content-main {
  min-width: 0;
}

body.theme-raed .s-product-card-content-title,
body.theme-raed .s-product-card-content-title a {
  color: var(--ph-ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-footer {
  margin-top: auto;
}

body.theme-raed .s-product-card-price,
body.theme-raed .s-product-card-sale-price {
  color: var(--ph-ink);
}

/* Button styling is limited to add-to-cart buttons inside product cards. */
body.theme-raed .s-product-card-entry salla-add-product-button {
  width: 100%;
  margin-top: auto;
}

body.theme-raed .s-product-card-entry salla-add-product-button button {
  min-height: 44px;
  border: 1px solid var(--ph-line);
  border-radius: 6px;
  background: transparent;
  color: var(--ph-ink);
  font-weight: 500;
  transition: border-color 160ms ease, background-color 160ms ease;
}

body.theme-raed .s-product-card-entry salla-add-product-button button:hover {
  border-color: var(--ph-ink);
  background: #f0ece3;
}

body.theme-raed .s-block--features {
  border-top: 1px solid var(--ph-line);
  border-bottom: 1px solid var(--ph-line);
  background: transparent;
  box-shadow: none;
}

body.theme-raed .ph-hero a:focus-visible,
body.theme-raed .ph-film:focus-visible,
body.theme-raed .ph-film video:focus-visible,
body.theme-raed .s-product-card-entry a:focus-visible,
body.theme-raed .s-product-card-entry button:focus-visible {
  outline: 3px solid #6c5730;
  outline-offset: 4px;
}

@media (max-width: 1023px) {
  body.theme-raed .s-products-list-wrapper.s-products-list-vertical-cards:not(.swiper-wrapper):not(:has(> .swiper)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  body.theme-raed .ph-hero {
    gap: 30px;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
  }
}

@media (max-width: 767px) {
  body.theme-raed .ph-hero {
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 28px);
    gap: 30px;
    margin: 18px auto 40px;
    padding: 30px 22px;
    border-radius: 12px;
  }

  body.theme-raed .ph-title {
    font-size: clamp(28px, 7.6vw, 38px);
    line-height: 1.35;
  }

  body.theme-raed .ph-eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
  }

  body.theme-raed .ph-lead {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.85;
  }

  body.theme-raed .ph-cta {
    margin-top: 22px;
  }

  body.theme-raed .ph-film {
    max-width: 220px;
  }

  body.theme-raed .s-products-list-wrapper.s-products-list-vertical-cards:not(.swiper-wrapper):not(:has(> .swiper)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.theme-raed .s-product-card-vertical .s-product-card-content {
    gap: 10px;
    padding: 12px;
  }

  body.theme-raed .s-product-card-content-title,
  body.theme-raed .s-product-card-content-title a {
    font-size: 13px;
  }

  body.theme-raed .s-product-card-vertical .s-product-card-image img {
    padding: 10px;
  }

  body.theme-raed .s-product-card-entry salla-add-product-button button {
    min-height: 44px;
    padding-inline: 8px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-raed .ph-cta,
  body.theme-raed .s-product-card-entry,
  body.theme-raed .s-product-card-entry salla-add-product-button button {
    transition: none;
  }
}


/* Pen House theme chrome and section rhythm. */
body.theme-raed .store-header .top-navbar {background:#eee9df;border-bottom:1px solid #ded6c6;}
body.theme-raed .store-header #mainnav {background:#fffefa;box-shadow:none;border-bottom:1px solid #ded6c6;}
body.theme-raed .navbar-brand img {max-height:58px;width:auto;object-fit:contain;}
body.theme-raed .store-header .s-search-input {background:#fffefa;color:#2d2521;}
body.theme-raed.index #main-content > .s-block {margin-top:48px;margin-bottom:48px;}
body.theme-raed .s-block--features {padding-top:28px;padding-bottom:28px;}
body.theme-raed .s-block--features__item {background:transparent;box-shadow:none;}
body.theme-raed .s-block--features__item .feature-icon {background:#eee7d9;color:#725b35;border-radius:50%;}
body.theme-raed .s-block--features__item h2 {font-size:19px;color:#2d2521;}
body.theme-raed .s-block--features__item p {color:#6b625a;line-height:1.8;}
body.theme-raed .store-footer {background:#2d2521;color:#f8f6f1;border-top:3px solid #aa9160;}
body.theme-raed .store-footer__inner {background:#2d2521;color:#f8f6f1;}
body.theme-raed .store-footer__inner h3,body.theme-raed .store-footer__inner a {color:#f8f6f1;}
body.theme-raed .store-footer__inner p {color:#dfd5c7;line-height:1.95;}
body.theme-raed .store-footer .copyright-text p,body.theme-raed .store-footer .copyright-text a {color:#dfd5c7;}
body.theme-raed .s-product-card-content-title {min-height:3.3em;}
body.theme-raed .ph-collection-title {font-size:28px;line-height:1.5;color:#2d2521;text-align:center;margin:0 0 14px;}
body.theme-raed .ph-collection-note {text-align:center;color:#6b625a;line-height:1.8;margin:0 0 30px;}
@media(min-width:1024px){body.theme-raed .store-footer__inner>.container {grid-template-columns:2fr 1fr 1fr;}body.theme-raed .store-footer__inner>.container>div {grid-column:auto;padding-inline:0;}body.theme-raed .store-footer__inner>.container>salla-apps-icons:empty{display:none;}}
@media(max-width:767px){body.theme-raed.index #main-content>.s-block{margin-top:30px;margin-bottom:30px;}body.theme-raed .s-block--features>div{grid-template-columns:1fr;}body.theme-raed .s-block--features__item{padding:16px;}body.theme-raed .ph-collection-title{font-size:24px;}}

/* Product collection refinement. */
body.theme-raed .s-product-card-vertical .s-product-card-image {max-height:300px;border-bottom:1px solid #eee9df;}
body.theme-raed .s-product-card-vertical .s-product-card-image>a {display:block;width:100%;height:100%;}
body.theme-raed .s-product-card-vertical .s-product-card-image img {box-sizing:border-box;padding:20px;transition:transform .25s ease;}
body.theme-raed .s-product-card-entry:has(:focus-visible) {outline:3px solid #8a7045;outline-offset:3px;}
body.theme-raed .s-product-card-content-title {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.5em;line-height:1.75;}
body.theme-raed .s-product-card-content-title a {font-weight:500;line-height:1.75;font-size:15px;}
body.theme-raed .s-product-card-content-sub {min-height:30px;margin:0;padding-top:2px;}
body.theme-raed .s-product-card-price,body.theme-raed .s-product-card-sale-price {font-size:20px;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:0;}
body.theme-raed .s-product-card-entry salla-add-product-button {display:block;width:100%;}
body.theme-raed .s-product-card-entry salla-add-product-button button {min-height:46px;width:100%;border:1px solid #2d2521;border-radius:7px;background:#2d2521;color:#fffefa;font-size:14px;font-weight:600;}
body.theme-raed .s-product-card-entry salla-add-product-button button:hover:not(:disabled):not([aria-disabled="true"]) {background:#59432e;border-color:#59432e;color:#fffefa;}
body.theme-raed .s-product-card-entry salla-add-product-button button:disabled {background:#eee9df;border-color:#ded6c6;color:#81796e;cursor:not-allowed;}
body.theme-raed .s-product-card-entry button.s-product-card-wishlist-btn.not-added {background:#fffefa;border:1px solid #d4c9b5;color:#776141;width:40px;height:40px;box-shadow:0 3px 10px rgb(45 37 33 / 5%);}
body.theme-raed .ph-title {font-weight:500;letter-spacing:0;}
body.theme-raed .ph-eyebrow [lang="en"] {font-family:'Segoe UI',Arial,sans-serif;letter-spacing:.18em;font-weight:600;}
body.theme-raed .ph-collection-title {font-weight:500;}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body.theme-raed .s-product-card-entry:hover .s-product-card-image img{transform:scale(1.025);}}
@media(max-width:767px){body.theme-raed .s-product-card-content-title a{font-size:14px;line-height:1.7;}body.theme-raed .s-product-card-price,body.theme-raed .s-product-card-sale-price{font-size:18px;}body.theme-raed .s-product-card-vertical .s-product-card-image img{padding:12px;}body.theme-raed .s-product-card-entry salla-add-product-button button{font-size:12px;min-height:44px;padding-inline:7px;}body.theme-raed .s-product-card-entry button.s-product-card-wishlist-btn.not-added{width:36px;height:36px;}}
@media(prefers-reduced-motion:reduce){body.theme-raed .s-product-card-image img{transition:none;}}

/* Match the theme's footer mode overrides. */
body.theme-raed .store-footer .store-footer__inner {background-color:#2d2521!important;color:#f8f6f1!important;}
body.theme-raed .store-footer .store-footer__inner h3,body.theme-raed .store-footer .store-footer__inner a {color:#f8f6f1!important;}
body.theme-raed .s-block--features__item .feature-icon i {color:#725b35!important;}
body.theme-raed .store-footer .s-contacts-icon,body.theme-raed .store-footer .s-social-icon {color:#dfd5c7!important;border-color:#8a7765!important;}
body.theme-raed .store-footer .s-trust-badges-label,body.theme-raed .store-footer .s-trust-badges-number {color:#dfd5c7!important;}

/* Larger desktop composition, with the entire portrait film visible. */
@media(min-width:1024px){
 body.theme-raed .ph-hero{width:min(calc(100% - 64px),1320px);grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(48px,7vw,100px);padding:44px;margin-top:24px;}
 body.theme-raed .ph-film{max-width:380px;height:auto;object-fit:contain;}
 body.theme-raed .ph-title{font-size:clamp(48px,4.4vw,64px);line-height:1.3;}
 body.theme-raed .ph-lead{font-size:18px;line-height:1.9;}
 body.theme-raed .ph-cta{font-size:16px;min-height:50px;}
 body.theme-raed .s-product-card-content-title{display:block;overflow:visible;-webkit-line-clamp:unset;min-height:3.5em;}
 body.theme-raed .s-product-card-content-title a{font-size:16px;}
}
@media(min-width:1024px) and (max-height:850px){
 body.theme-raed .ph-hero{grid-template-columns:minmax(0,1fr) minmax(290px,330px);padding:30px 44px;}
 body.theme-raed .ph-film{max-width:330px;}
}
/* Shared catalogue typography and interaction finish. */
body.theme-raed[data-ph-language="en"] {font-family:"Segoe UI",Arial,sans-serif;}
body.theme-raed[data-ph-language="en"] .ph-title {font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.03em;}
body.theme-raed .s-product-card-content-title {display:block;-webkit-line-clamp:unset;overflow:visible;min-height:0;}
body.theme-raed .ph-card-sku{display:block;margin-bottom:6px;color:#78664c;font:600 10px/1.4 "Segoe UI",Arial,sans-serif;letter-spacing:.12em;}
body.theme-raed .ph-card-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:3.5em;line-height:1.75;text-align:start;}
body.theme-raed.product-index .container--products-list{margin-top:8px;margin-bottom:64px;}
body.theme-raed.product-index .container--products-list .main-content>div:first-child{padding:24px 28px;margin-bottom:28px;border:1px solid #ded6c6;border-radius:12px;background:#fffefa;gap:20px;}
body.theme-raed.product-index #page-main-title{font-size:30px;line-height:1.4;font-weight:500;}
body.theme-raed .ph-catalog-name{display:block;color:#2d2521;font-size:32px;line-height:1.4;font-weight:500;letter-spacing:.01em;}
body.theme-raed .ph-catalog-count{display:block;font-size:13px;color:#78664c;line-height:1.6;margin-top:7px;font-weight:400;}
body.theme-raed #product-filter {min-height:46px;max-width:100%;border:1px solid #c9bda7;border-radius:7px;background-color:#fffefa;color:#2d2521;font-size:14px;padding-block:10px;}
body.theme-raed #product-filter:focus-visible {outline:3px solid #8a7045;outline-offset:3px;}
body.theme-raed .s-breadcrumb-wrapper{font-size:12px;color:#78664c;line-height:1.7;}
body.theme-raed .s-product-card-entry salla-add-product-button button[aria-disabled="true"] {background:#eee9df;border-color:#ded6c6;color:#81796e;cursor:not-allowed;}
body.theme-raed .s-product-card-entry button.s-product-card-wishlist-btn.not-added{width:44px;height:44px;}
body.theme-raed .s-product-card-entry:not(.s-product-card-vertical){height:auto;}
body.theme-raed .s-product-card-entry:not(.s-product-card-vertical) .s-product-card-content-title{min-height:0;}
body.theme-raed .s-product-card-entry:not(.s-product-card-vertical) .s-product-card-content-sub{min-height:0;}
body.theme-raed .s-product-card-entry:not(.s-product-card-vertical) .s-product-card-price{font-size:16px;}
body.theme-raed .ph-feature-symbol{display:block;width:30px;height:30px;color:#725b35;}
body.theme-raed .ph-introduction{margin-top:24px;}
@media(max-width:767px){
 body.theme-raed.product-index .container--products-list .main-content>div:first-child{padding:18px;align-items:stretch;flex-direction:column;gap:16px;}
 body.theme-raed .ph-catalog-name{font-size:27px;}
 body.theme-raed #product-filter{width:100%;}
 body.theme-raed .ph-card-name{min-height:5.1em;line-height:1.7;}
 body.theme-raed .ph-card-sku{font-size:10px;margin-bottom:5px;}
 body.theme-raed .ph-introduction{margin-top:14px;}
 body.theme-raed .ph-language-switch button{min-width:62px;padding-inline:10px;}
}
/* Pen House product detail pages.
   Selectors verified against work/product-detail-dom.json.
   Preserve native carousel transforms, price visibility, product options,
   sticky-bar behavior, checkout widgets, and payment-brand buttons. */

body.theme-raed.product-single .container--breadcrumbs,
body.theme-raed.product-single .container--product-details {
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px;
  margin-inline: auto;
  padding-inline: 28px;
}

body.theme-raed.product-single .s-breadcrumb-wrapper {
  flex-wrap: wrap;
  row-gap: 8px;
  color: var(--ph-muted, #6b625a);
  font-size: 13px;
  line-height: 1.7;
}

body.theme-raed.product-single .s-breadcrumb-item {
  min-width: 0;
  white-space: normal;
}

body.theme-raed.product-single .s-breadcrumb-item a {
  color: var(--ph-muted, #6b625a);
  text-underline-offset: 4px;
}

body.theme-raed.product-single .s-breadcrumb-item a:hover {
  color: var(--ph-ink, #2d2521);
}

body.theme-raed.product-single .container--product-details > div[id^="product-"] {
  --ph-gallery-height: clamp(420px, 42vw, 620px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: start;
  gap: clamp(26px, 3.5vw, 48px);
}

body.theme-raed.product-single .container--product-details > div[id^="product-"] > .sidebar,
body.theme-raed.product-single .container--product-details > div[id^="product-"] > .main-content {
  box-sizing: border-box;
  min-width: 0;
  /* The observed sidebar has md:!w-2/4; a full grid-cell width overrides it. */
  width: 100% !important;
  margin-inline: 0;
  margin-bottom: 0;
}

body.theme-raed.product-single .container--product-details > div[id^="product-"] > .main-content {
  padding: clamp(24px, 2.5vw, 36px);
  border: 1px solid var(--ph-line, #ded6c6);
  border-radius: 14px;
  background: var(--ph-paper, #fffefa);
  color: var(--ph-ink, #2d2521);
}

/* Only the main image track receives a fixed presentation height.
   Do not change Swiper's inline slide widths, margins, or transforms. */
body.theme-raed.product-single .details-slider > .s-slider-container {
  border: 1px solid var(--ph-line, #ded6c6);
  border-radius: 14px;
  background: #fff;
}

body.theme-raed.product-single .details-slider > .s-slider-container > .s-slider-swiper-wrapper {
  /* Swiper's observed auto-height is inline; keep it consistent with the frame. */
  height: var(--ph-gallery-height) !important;
}

body.theme-raed.product-single .details-slider .homeslider__slide {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--ph-gallery-height);
  background: #fff;
}

body.theme-raed.product-single .details-slider .homeslider__slide > img {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: clamp(18px, 2.4vw, 32px);
  object-fit: contain;
  object-position: center;
}

body.theme-raed.product-single .details-slider .s-slider-thumbs {
  margin-top: 16px;
}

body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide {
  box-sizing: border-box;
  height: 92px;
  overflow: hidden;
  border: 1px solid var(--ph-line, #ded6c6);
  border-radius: 8px;
  background: #fff;
  opacity: .78;
  transition: border-color 160ms ease, opacity 160ms ease;
}

body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide img {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 8px;
  border-radius: 0;
  background: #fff;
  object-fit: contain;
  object-position: center;
}

body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide-thumb-active {
  border-color: #8a7045;
  box-shadow: inset 0 0 0 1px #8a7045;
  opacity: 1;
}

body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide:hover {
  border-color: #aa9160;
  opacity: 1;
}

body.theme-raed.product-single .details-slider .s-slider-nav-arrow {
  width: 44px;
  height: 44px;
  border: 1px solid var(--ph-line, #ded6c6);
  border-radius: 50%;
  background: var(--ph-paper, #fffefa);
  color: var(--ph-ink, #2d2521);
}

body.theme-raed.product-single .details-slider .s-slider-nav-arrow:disabled,
body.theme-raed.product-single .details-slider .s-slider-nav-arrow[aria-disabled="true"] {
  opacity: .4;
}

body.theme-raed.product-single [data-testid="store-product-title"] {
  margin: 0 0 22px;
  color: var(--ph-ink, #2d2521);
  font-size: clamp(27px, 2.5vw, 36px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

body.theme-raed.product-single[data-ph-language="en"] [data-testid="store-product-title"] {
  font-family: "Segoe UI", Arial, sans-serif;
  line-height: 1.35;
}

body.theme-raed.product-single [data-testid="store-product-price"] {
  margin-bottom: 22px;
  color: var(--ph-ink, #2d2521);
  font-variant-numeric: tabular-nums;
}

body.theme-raed.product-single [data-testid="store-product-price"] p {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
}

body.theme-raed.product-single [data-testid="store-product-price"] .line-through {
  color: var(--ph-muted, #6b625a);
  font-size: 16px;
}

body.theme-raed.product-single .product__description {
  padding-inline: 0;
  color: var(--ph-muted, #6b625a);
  font-size: 15px;
  line-height: 1.95;
}

body.theme-raed.product-single .product-form {
  margin-top: 24px;
  border-top: 1px solid var(--ph-line, #ded6c6);
}

body.theme-raed.product-single .product-form > section:first-of-type {
  padding: 22px 0;
  background: transparent;
}

body.theme-raed.product-single .product-form .form-label,
body.theme-raed.product-single .product-form .form-label b {
  color: var(--ph-muted, #6b625a);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}

body.theme-raed.product-single .product-form .price-wrapper {
  color: var(--ph-ink, #2d2521);
  font-variant-numeric: tabular-nums;
}

body.theme-raed.product-single .product-form .total-price {
  font-size: 25px;
  font-weight: 600;
  line-height: 1.5;
}

body.theme-raed.product-single .product-form .before-price {
  color: var(--ph-muted, #6b625a);
  font-size: 15px;
}

body.theme-raed.product-single .sticky-product-bar {
  border: 1px solid var(--ph-line, #ded6c6);
  border-radius: 10px;
  background: var(--ph-paper, #fffefa);
}

body.theme-raed.product-single .sticky-product-bar__quantity {
  gap: 16px;
}

body.theme-raed.product-single .product-form .s-quantity-input-container {
  min-height: 46px;
  border: 1px solid #cfc3ae;
  border-radius: 8px;
  background: #fff;
}

body.theme-raed.product-single .product-form .s-quantity-input-button {
  flex-shrink: 0;
  width: 44px;
  min-width: 44px;
  height: 44px;
  background: #f3eee4;
  color: var(--ph-ink, #2d2521);
}

body.theme-raed.product-single .product-form .s-quantity-input-input {
  width: 48px;
  height: 44px;
  border: 0;
  background: #fff;
  color: var(--ph-ink, #2d2521);
  font-size: 16px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

body.theme-raed.product-single .product-form button[data-testid="store-product-add-to-cart"] {
  min-height: 52px;
  border: 1px solid var(--ph-ink, #2d2521);
  border-radius: 8px;
  background: var(--ph-ink, #2d2521);
  color: var(--ph-paper, #fffefa);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  transition: background-color 160ms ease, border-color 160ms ease;
}

body.theme-raed.product-single .product-form button[data-testid="store-product-add-to-cart"]:hover:not(:disabled):not([aria-disabled="true"]) {
  border-color: #59432e;
  background: #59432e;
}

body.theme-raed.product-single .product-form button[data-testid="store-product-add-to-cart"]:disabled,
body.theme-raed.product-single .product-form button[data-testid="store-product-add-to-cart"][aria-disabled="true"] {
  border-color: var(--ph-line, #ded6c6);
  background: #eee9df;
  color: #81796e;
  cursor: not-allowed;
}

body.theme-raed.product-single .details-slider a:focus-visible,
body.theme-raed.product-single .details-slider button:focus-visible,
body.theme-raed.product-single .details-slider .swiper-slide:focus-visible,
body.theme-raed.product-single .product-form button:focus-visible,
body.theme-raed.product-single .product-form input:focus-visible {
  outline: 3px solid #8a7045;
  outline-offset: -3px;
}

@media (max-width: 1023px) and (min-width: 768px) {
  body.theme-raed.product-single .container--product-details > div[id^="product-"] {
    --ph-gallery-height: 440px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
  }

  body.theme-raed.product-single .container--product-details > div[id^="product-"] > .main-content {
    padding: 22px;
  }

  body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide {
    height: 76px;
  }
}

@media (max-width: 767px) {
  body.theme-raed.product-single .container--breadcrumbs,
  body.theme-raed.product-single .container--product-details {
    padding-inline: 14px;
  }

  body.theme-raed.product-single .container--product-details > div[id^="product-"] {
    --ph-gallery-height: clamp(320px, 100vw, 460px);
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  body.theme-raed.product-single .container--product-details > div[id^="product-"] > .main-content {
    padding: 22px 18px;
    border-radius: 12px;
  }

  body.theme-raed.product-single .details-slider .homeslider__slide > img {
    padding: 18px;
  }

  body.theme-raed.product-single .details-slider .s-slider-thumbs {
    margin-top: 12px;
  }

  body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide {
    height: 76px;
  }

  body.theme-raed.product-single [data-testid="store-product-title"] {
    margin-bottom: 18px;
    font-size: 26px;
    line-height: 1.5;
  }

  body.theme-raed.product-single [data-testid="store-product-price"] p,
  body.theme-raed.product-single .product-form .total-price {
    font-size: 25px;
  }

  body.theme-raed.product-single .product-form {
    margin-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-raed.product-single .details-slider .s-slider-thumbs .swiper-slide,
  body.theme-raed.product-single .product-form button[data-testid="store-product-add-to-cart"] {
    transition: none;
  }
}

body.theme-raed.product-single .ph-product-sku{display:block;margin-bottom:16px;color:#78664c;font:600 12px/1.4 "Segoe UI",Arial,sans-serif;letter-spacing:.14em;}
body.theme-raed.product-single .product-form salla-quick-buy button{min-height:52px;border-radius:8px;font-size:15px;}
/* Collapse only an empty native footer-links column. */
body.theme-raed .store-footer__inner>.container>div:has(>salla-menu .s-menu-footer-list:empty){display:none;}
@media(min-width:1024px){
 body.theme-raed .store-footer__inner>.container:has(.s-menu-footer-list:empty){grid-template-columns:2fr 1fr;gap:64px;}
 body.theme-raed .store-footer__inner>.container>div:first-child>.max-w-sm{max-width:560px;}
}
/* Native mobile drawer, matched to the rest of the storefront. */
body.theme-raed #mobile-menu.mm-spn{background:#fffefa;color:#2d2521;}
body.theme-raed #mobile-menu .btn--close.close-mobile-menu{background:#2d2521!important;color:#fffefa!important;}
body.theme-raed #mobile-menu a,body.theme-raed #mobile-menu li>span{color:#2d2521;font-weight:500;}
body.theme-raed #mobile-menu a:focus-visible,body.theme-raed #mobile-menu button:focus-visible{outline:3px solid #8a7045;outline-offset:-4px;}

/* Append after penhouse-premium.css.
   One intrinsic card rhythm for the observed vertical grid cards and native
   product carousels. Keep native slide widths/transforms and PDP galleries.
   Horizontal cards, search rows, prices, option visibility and state are untouched. */

body.theme-raed .s-product-card-entry.s-product-card-vertical {
  --ph-card-media-height: clamp(220px, 20vw, 280px);
  --ph-card-title-size: 15px;
  --ph-card-name-height: 5.1em;
  --ph-card-action-height: 46px;
  --ph-card-price-height: 32px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-self: start;
  height: auto;
  min-height: 0;
}

/* Card media height depends on viewport, not each grid/slide's varying width. */
body.theme-raed .s-product-card-vertical > .s-product-card-image {
  box-sizing: border-box;
  flex: 0 0 var(--ph-card-media-height);
  width: 100%;
  height: var(--ph-card-media-height);
  min-height: var(--ph-card-media-height);
  max-height: none;
  aspect-ratio: auto;
}

body.theme-raed .s-product-card-vertical > .s-product-card-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

body.theme-raed .s-product-card-vertical > .s-product-card-image img {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 18px;
  object-fit: contain;
  object-position: center;
}

body.theme-raed .s-product-card-vertical > .s-product-card-content {
  box-sizing: border-box;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-main {
  flex: 0 0 auto;
  min-height: calc(5.1em + 20px);
  margin: 0;
  font-size: var(--ph-card-title-size);
  line-height: 1.7;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-title,
body.theme-raed .s-product-card-vertical .s-product-card-content-title > a {
  display: block;
  min-height: 0;
  margin: 0;
  font-size: var(--ph-card-title-size);
  line-height: 1.7;
}

body.theme-raed .s-product-card-vertical .ph-card-sku {
  display: block;
  height: 14px;
  margin: 0 0 6px;
  font-size: 10px;
  line-height: 14px;
}

body.theme-raed .s-product-card-vertical .ph-card-name,
body.theme-raed .s-product-card-vertical .s-product-card-content-title > a:not(:has(.ph-card-name)) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  height: var(--ph-card-name-height);
  min-height: var(--ph-card-name-height);
  max-height: var(--ph-card-name-height);
  overflow: hidden;
  font-size: var(--ph-card-title-size);
  line-height: 1.7;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-sub {
  flex: 0 0 auto;
  min-height: var(--ph-card-price-height);
  margin: 0;
  padding: 0;
}

body.theme-raed .s-product-card-vertical .s-product-card-price,
body.theme-raed .s-product-card-vertical .s-product-card-sale-price {
  margin: 0;
  font-size: 20px;
  line-height: 1.5;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-footer {
  flex: 0 0 auto;
  min-height: var(--ph-card-action-height);
  margin-top: 0;
  align-items: stretch;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-footer salla-add-product-button {
  display: block;
  width: 100%;
  margin: 0;
}

body.theme-raed .s-product-card-vertical .s-product-card-content-footer salla-add-product-button button {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--ph-card-action-height);
  padding: 10px 10px;
  font-size: 14px;
  line-height: 1.4;
}

/* Product-carousel scope only: never target .details-slider or gallery thumbs. */
body.theme-raed .s-products-slider-wrapper .s-slider-swiper-wrapper {
  align-items: flex-start;
}

body.theme-raed .s-products-slider-wrapper .swiper-slide,
body.theme-raed .s-products-list-wrapper.s-products-list-vertical-cards > .s-product-card-vertical {
  height: auto;
}

body.theme-raed .s-products-list-wrapper.s-products-list-vertical-cards {
  align-items: start;
}

@media (max-width: 767px) {
  body.theme-raed .s-product-card-entry.s-product-card-vertical {
    --ph-card-media-height: clamp(150px, 42vw, 200px);
    --ph-card-title-size: 14px;
    --ph-card-action-height: 44px;
    --ph-card-price-height: 28px;
  }

  body.theme-raed .s-product-card-vertical > .s-product-card-image img {
    padding: 12px;
  }

  body.theme-raed .s-product-card-vertical > .s-product-card-content {
    gap: 10px;
    padding: 12px;
  }

  body.theme-raed .s-product-card-vertical .s-product-card-price,
  body.theme-raed .s-product-card-vertical .s-product-card-sale-price {
    font-size: 18px;
  }

  body.theme-raed .s-product-card-vertical .s-product-card-content-footer salla-add-product-button button {
    padding-inline: 7px;
    font-size: 12px;
  }
}

/* Append after the existing premium CSS. Existing mobile dimensions are retained. */
body.theme-raed .ph-film-shell { position:relative; isolation:isolate; }
body.theme-raed .ph-film-shell video { border:0; border-radius:inherit; }
body.theme-raed .ph-film-play {
  position:absolute; inset:0; z-index:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:14px; width:100%; height:100%;
  padding:24px; border:0; border-radius:inherit; cursor:pointer;
  background:linear-gradient(180deg,transparent 35%,rgb(24 18 14 / 28%) 100%);
  color:#fff; font-family:inherit; font-size:15px; font-weight:600; line-height:1.6;
  text-shadow:0 1px 5px rgb(0 0 0 / 65%);
}
body.theme-raed .ph-film-play[hidden] { display:none; }
body.theme-raed .ph-film-play-disc {
  display:grid; place-items:center; width:72px; height:72px; padding-inline-start:4px;
  border:1px solid rgb(255 255 255 / 85%); border-radius:50%;
  background:rgb(45 37 33 / 78%); color:#fff; font:22px/1 Arial,sans-serif;
  box-shadow:0 8px 28px rgb(0 0 0 / 18%); text-shadow:none;
}
body.theme-raed .ph-film-play:focus-visible { outline:3px solid #aa9160; outline-offset:-5px; }
body.theme-raed .ph-film-label-en { display:none; }
body.theme-raed[data-ph-language="en"] .ph-film-label-en { display:inline; }
body.theme-raed[data-ph-language="en"] .ph-film-label-ar { display:none; }
body.theme-raed .ph-film-status { margin:12px 0 0; color:#6b625a; text-align:center; font-size:13px; }
@media (min-width:1024px) {
  body.theme-raed .ph-hero { grid-template-columns:minmax(0,1fr) minmax(0,36%); gap:clamp(32px,4vw,64px); }
  body.theme-raed .ph-hero .ph-film-shell { width:100%; max-width:none; height:auto; aspect-ratio:480/848; }
}

/* Native compact search results: preserve the search grid and its column widths. */
body.theme-raed .s-search-product-card-entry.s-search-product-card-horizontal.s-search-product-card-compact {
  --ph-search-image-size: 76px;
  --ph-search-title-size: 14px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  min-height: 124px;
  height: auto;
  padding: 12px;
  border: 1px solid var(--ph-line);
  border-radius: 10px;
  background: var(--ph-paper);
  color: var(--ph-ink);
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-image {
  box-sizing: border-box;
  flex: 0 0 var(--ph-search-image-size);
  width: var(--ph-search-image-size);
  min-width: var(--ph-search-image-size);
  height: var(--ph-search-image-size);
  margin: 0;
  border: 1px solid var(--ph-line);
  border-radius: 6px;
  background: #fff;
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-image > a > img.s-search-product-card-image-cover {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 5px;
  border-radius: 6px;
  object-fit: contain;
  object-position: center;
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-content {
  box-sizing: border-box;
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: start;
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-content-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  min-width: 0;
  height: 4.65em;
  min-height: 4.65em;
  max-height: 4.65em;
  margin: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  color: var(--ph-ink);
  font-size: var(--ph-search-title-size);
  font-weight: 500;
  line-height: 1.55;
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-content-title > a {
  color: inherit;
  font: inherit;
  text-decoration: none;
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-price-value {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ph-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

body.theme-raed .s-search-product-card-entry.s-search-product-card-horizontal.s-search-product-card-compact:hover {
  border-color: var(--ph-gold);
}

body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact a:focus-visible {
  outline: 2px solid #8a7045;
  outline-offset: -2px;
  border-radius: 4px;
}

@media (max-width: 767px) {
  body.theme-raed .s-search-product-card-entry.s-search-product-card-horizontal.s-search-product-card-compact {
    --ph-search-image-size: 64px;
    --ph-search-title-size: 13px;
    gap: 10px;
    min-height: 112px;
    padding: 10px;
  }

  body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-content {
    gap: 6px;
  }

  body.theme-raed .s-search-product-card-horizontal.s-search-product-card-compact .s-search-product-card-price-value {
    font-size: 15px;
  }
}

/* Pen House responsive hero: immersive mobile, centred desktop film. */

/* Let the search field share the row with the language switch on small phones. */
@media (max-width: 767px) {
  body.theme-raed .store-header .header-search,
  body.theme-raed .store-header .header-search .s-search-placeholder-wrapper {
    min-width: 0;
  }
  body.theme-raed .store-header .header-search .s-search-placeholder-wrapper {
    width: 100%;
  }
}

body.theme-raed.index #main-content > .ph-introduction {
  width: 100%;
  max-width: none;
  margin-top: 0;
  padding-inline: 0;
}

body.theme-raed.index .ph-hero {
  --ph-hero-screen-height: calc(100vh - var(--ph-hero-header-height, 128px));
  --ph-desktop-film-height: min(640px, max(0px, calc(var(--ph-hero-screen-height) - 40px)));
  --ph-hero-film-background: #eee9df;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "film" "copy" "detail";
  align-items: start;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0 0 40px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--ph-ivory, #f8f6f1);
}

@supports (height: 100svh) {
  body.theme-raed.index .ph-hero {
    --ph-hero-screen-height: calc(100svh - var(--ph-hero-header-height, 128px));
  }
}

body.theme-raed.index .ph-hero > figure {
  grid-area: film;
  min-width: 0;
  margin: 0;
}

body.theme-raed.index .ph-hero .ph-film.ph-film-shell {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: max(0px, var(--ph-hero-screen-height));
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: var(--ph-hero-film-background);
  box-shadow: none;
}

body.theme-raed.index .ph-hero .ph-film.ph-film-shell > video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
  background: var(--ph-hero-film-background);
}

/* Keep an existing caption readable; it follows the screen-fitting media. */
@media (max-width: 767px) {
  body.theme-raed.index .ph-hero .ph-film.ph-film-shell > video {
    object-fit: cover;
    object-position: center 60%;
  }
}

body.theme-raed.index .ph-hero > figure > figcaption {
  padding-inline: 20px;
}

body.theme-raed.index .ph-hero-copy {
  grid-area: copy;
  box-sizing: border-box;
  min-width: 0;
  max-width: 620px;
  width: 100%;
  justify-self: center;
  margin: 0;
  padding: 30px 24px 0;
  text-align: start;
}

body.theme-raed.index .ph-hero-detail {
  grid-area: detail;
  box-sizing: border-box;
  min-width: 0;
  max-width: 620px;
  width: 100%;
  justify-self: center;
  margin: 0;
  padding: 18px 24px 32px;
  text-align: start;
}

body.theme-raed.index .ph-hero-detail .ph-lead {
  max-width: 44ch;
  margin: 0;
}

body.theme-raed.index .ph-hero .ph-eyebrow {
  margin-bottom: 14px;
}

body.theme-raed.index .ph-hero .ph-cta {
  margin-top: 22px;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.theme-raed.index .ph-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "film film" "copy detail";
    margin-bottom: 48px;
  }

  body.theme-raed.index .ph-hero .ph-film.ph-film-shell {
    height: min(680px, max(0px, var(--ph-hero-screen-height)));
  }

  body.theme-raed.index .ph-hero-copy,
  body.theme-raed.index .ph-hero-detail {
    align-self: center;
    padding: 34px 30px;
  }

  body.theme-raed.index .ph-hero .ph-title {
    font-size: clamp(34px, 4.5vw, 44px);
    line-height: 1.35;
  }

  body.theme-raed.index .ph-hero-detail .ph-lead {
    font-size: 16px;
    line-height: 1.85;
  }
}

@media (min-width: 1024px) {
  body.theme-raed.index .ph-hero {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "copy film detail";
    align-items: center;
    gap: clamp(24px, 3vw, 48px);
    width: min(calc(100% - 48px), 1440px);
    margin: 0 auto 56px;
    padding: 16px 0;
  }

  body.theme-raed.index .ph-hero > figure {
    align-self: start;
  }

  body.theme-raed.index .ph-hero .ph-film.ph-film-shell {
    width: calc(var(--ph-desktop-film-height) * .5660377358);
    height: var(--ph-desktop-film-height);
    aspect-ratio: 480 / 848;
  }

  body.theme-raed.index .ph-hero-copy,
  body.theme-raed.index .ph-hero-detail {
    width: 100%;
    max-width: 400px;
    padding: 12px 0;
  }

  body.theme-raed.index .ph-hero .ph-title {
    font-size: clamp(36px, 3.65vw, 56px);
    line-height: 1.32;
  }

  body.theme-raed.index .ph-hero-detail .ph-lead {
    font-size: clamp(16px, 1.22vw, 18px);
    line-height: 1.85;
  }

  body.theme-raed.index .ph-hero > figure > figcaption {
    padding-inline: 0;
  }
}

@media (min-width: 1024px) and (max-height: 700px) {
  body.theme-raed.index .ph-hero {
    padding-block: 16px;
  }

  body.theme-raed.index .ph-hero .ph-title {
    font-size: clamp(34px, 3.3vw, 48px);
  }

  body.theme-raed.index .ph-hero-detail .ph-lead {
    font-size: 16px;
    line-height: 1.75;
  }
}