/* ==========================================================================
   SJWP — single product + About page
   ========================================================================== */

/* Product cards: no wishlist / compare / quick view in catalogue mode */
.sjwp ul.products .product-featured-icons,
.sjwp .wcboost-wishlist-button,
.sjwp .wcboost-products-compare-button,
.sjwp .ecomus-quickview-button { display: none !important; }

/* ---------- Single product ---------- */
.sp-hero { position: relative; padding: 26px 0 90px; background: radial-gradient(circle at 25% 40%, #ffffff 0%, #eef3fa 55%, #e4ebf5 100%); overflow: hidden; }
.sp-hero::after { content: ""; position: absolute; right: -10%; top: -30%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(31, 123, 255, .10), transparent 65%); pointer-events: none; }
.sp-crumbs { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; font-size: 14px; color: var(--muted); }
.sp-crumbs a { color: var(--muted); text-decoration: none; }
.sp-crumbs a:hover { color: var(--blue); }
.sp-crumbs [aria-current] { color: var(--ink); font-weight: 600; }
.sp-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: start; }

/* Gallery: main image full width, then two-up rows. Summary column is sticky. */
.sp-hero__grid { align-items: start; }
.sp-gallery__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sp-shot { position: relative; margin: 0; display: grid; place-items: center; aspect-ratio: 1; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.sp-shot img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.sp-shot:hover img { transform: scale(1.04); }
.sp-shot--main { grid-column: 1 / -1; aspect-ratio: 1 / .92; border-radius: 28px; background: radial-gradient(circle at 50% 45%, #ffffff, #e7edf6 75%); box-shadow: var(--shadow-lg); }
.sp-shot--main img { width: 82%; height: 88%; object-fit: contain; position: relative; z-index: 2; }
.sp-shot--dark { background: radial-gradient(circle at 50% 45%, #0f2a5c 0%, var(--navy-900) 70%); }
.sp-shot--dark::before { content: ""; position: absolute; inset: 0; background: url("../img/stadium.webp") center / cover; opacity: .28; }
.sp-shot--dark img { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .5)); }
.sp-shot--main .pcard__badge { z-index: 3; top: 20px; left: 20px; }
.sp-gallery__grid[data-count="2"] .sp-shot:not(.sp-shot--main),
.sp-gallery__grid[data-count="4"] .sp-shot:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
.sp-gallery__ring { position: absolute; z-index: 1; width: 66%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(31, 123, 255, .35); box-shadow: 0 0 120px rgba(31, 123, 255, .25); }
.sp-gallery__dots { display: none; }
.sp-summary { position: sticky; top: calc(var(--header-h) + 24px); }

.sp-cat { display: inline-block; padding: 7px 14px; border-radius: 999px; background: rgba(31, 123, 255, .1); color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.sp-title { margin: 16px 0 0; font-family: var(--ff-head); font-size: clamp(42px, 5vw, 72px); font-weight: 900; font-style: italic; line-height: .92; text-transform: uppercase; color: var(--ink); }
.sp-price { margin-top: 16px; font-size: 26px; font-weight: 700; }
.sp-price-note { display: inline-flex; align-items: center; gap: 10px; margin: 20px 0 0; padding: 10px 16px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 15px; font-weight: 600; color: var(--ink); }
.sp-price-note .sjwp-ico { color: var(--blue); }
.sp-excerpt { margin-top: 18px; font-size: 18px; line-height: 1.65; color: #435069; }
.sp-excerpt p { margin: 0; }
.sp-chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.sp-chips li { padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.sp-chips span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.sp-chips strong { display: block; margin-top: 4px; font-family: var(--ff-head); font-size: 22px; font-weight: 700; color: var(--ink); }
.sp .sjwp-enquire { margin: 24px 0 0; box-shadow: var(--shadow); border-color: transparent; }

.sp-details__grid { display: grid; grid-template-columns: 1.4fr .9fr; gap: 60px; align-items: start; }
.sp-desc__body { margin-top: 26px; font-size: 17px; line-height: 1.75; color: #435069; }
.sp-desc__body h3 { margin: 0 0 12px; font-size: 28px; font-weight: 800; font-style: italic; text-transform: uppercase; color: var(--ink); }
.sp-desc__body ul { margin: 18px 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.sp-desc__body li { position: relative; padding-left: 32px; }
.sp-desc__body li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 3px;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--blue);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.sp-specs { position: sticky; top: calc(var(--header-h) + 24px); padding: 30px; border-radius: var(--radius-lg); background: var(--light); }
.sp-specs h3 { margin: 0 0 16px; font-size: 28px; font-weight: 800; font-style: italic; text-transform: uppercase; }
.sp-specs dl { margin: 0; }
.sp-specs dl div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.sp-specs dt { color: var(--muted); font-weight: 600; }
.sp-specs dd { margin: 0; font-weight: 700; text-align: right; }
.sp-specs__help { margin-top: 24px; padding: 22px; border-radius: 16px; background: var(--navy-900); color: #fff; }
.sp-specs__help strong { font-family: var(--ff-head); font-size: 22px; text-transform: uppercase; }
.sp-specs__help p { margin: 6px 0 16px; color: #9fb0c9; font-size: 15px; }

.sp-speed { padding: 70px 0; background: var(--navy-900); color: #fff; }
.sp-speed__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.sp-speed .section__title { color: #fff; }
.sp-speed__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; flex: 1; max-width: 720px; }
.sp-speed__list li { padding: 18px; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); text-align: center; }
.sp-speed__list li.is-hot { background: rgba(31, 123, 255, .2); border-color: var(--blue); }
.sp-speed__list b { display: block; font-family: var(--ff-head); font-size: 48px; font-weight: 900; font-style: italic; line-height: 1; }
.sp-speed__list span { font-size: 14px; color: #9fb0c9; }

.cta--compact { padding: 100px 0; }
.sp-bar { display: none; }

/* ---------- About ---------- */
.ab-hero { position: relative; display: flex; align-items: center; min-height: 620px; padding: 120px 0; background: var(--navy-950); color: #fff; overflow: hidden; }
.ab-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.ab-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 7, 17, .95) 0%, rgba(2, 7, 17, .6) 55%, rgba(2, 7, 17, .3)), linear-gradient(0deg, var(--navy-950), transparent 40%); }
.ab-hero__inner { position: relative; }
.ab-hero__title { max-width: 900px; margin: 24px 0 0; font-size: clamp(56px, 8vw, 116px); font-weight: 900; font-style: italic; line-height: .9; text-transform: uppercase; color: #fff; }
.ab-hero__lead { max-width: 560px; margin: 24px 0 0; font-size: 19px; line-height: 1.65; color: #c8d4e8; }
.ab-hero__scroll { position: absolute; left: 50%; bottom: 30px; width: 26px; height: 42px; border: 2px solid rgba(255, 255, 255, .35); border-radius: 14px; transform: translateX(-50%); }
.ab-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: #fff; animation: scrolldot 1.8s ease-in-out infinite; }
@keyframes scrolldot { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

.founder { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.founder__media { position: relative; padding: 0 30px 30px 0; }
.founder__frame { position: absolute; inset: 30px 0 0 30px; border-radius: 28px; border: 2px solid var(--blue); }
.founder__img, .founder__placeholder { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; box-shadow: var(--shadow-lg); }
.founder__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; background: radial-gradient(circle at 50% 40%, #0f2a5c, var(--navy-950) 75%); }
.founder__placeholder img { width: 120px; height: 120px; border-radius: 50%; }
.founder__placeholder a { padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; }
.founder__badge { position: absolute; z-index: 2; right: 0; bottom: 0; padding: 20px 24px; border-radius: 20px; background: var(--blue); color: #fff; box-shadow: 0 20px 40px rgba(31, 123, 255, .4); }
.founder__badge strong { display: block; font-family: var(--ff-head); font-size: 34px; font-weight: 900; font-style: italic; line-height: 1; }
.founder__badge sup { font-size: 12px; }
.founder__badge span { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.founder__quote { margin: 30px 0 0; padding: 0 0 0 28px; border-left: 4px solid var(--blue); font-family: var(--ff-head); font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; font-style: italic; line-height: 1.25; color: var(--ink); }
.founder__story { margin-top: 24px; font-size: 17px; line-height: 1.75; color: #435069; }
.founder__story p { margin: 0 0 16px; }
.founder__sign { display: flex; flex-direction: column; margin-top: 12px; padding-top: 22px; border-top: 1px solid var(--line); }
.founder__sign strong { font-family: var(--ff-head); font-size: 30px; font-weight: 800; font-style: italic; text-transform: uppercase; }
.founder__sign span { color: var(--blue); font-weight: 700; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }

.values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.value { position: relative; padding: 34px 28px; border-radius: var(--radius-lg); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); overflow: hidden; transition: transform .4s var(--ease), border-color .3s; }
.value:hover { transform: translateY(-6px); border-color: var(--blue); }
.value__n { position: absolute; right: 18px; top: 10px; font-family: var(--ff-head); font-size: 72px; font-weight: 900; font-style: italic; color: rgba(255, 255, 255, .06); }
.value > .sjwp-ico { width: 52px; height: 52px; padding: 13px; border-radius: 14px; background: rgba(31, 123, 255, .18); color: var(--cyan); }
.value h3 { margin: 22px 0 8px; font-size: 26px; font-weight: 800; font-style: italic; text-transform: uppercase; color: #fff; }
.value p { margin: 0; color: #9fb0c9; line-height: 1.6; }

.ab-range { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ab-range .section__sub { max-width: none; }
.ab-range__visual { position: relative; display: flex; justify-content: center; align-items: center; height: 560px; }
.ab-range__visual .glow { left: 15%; top: 10%; }
.ab-range__visual img { position: relative; z-index: 2; height: 92%; width: auto; filter: drop-shadow(0 30px 40px rgba(6, 20, 45, .35)); }
.ab-range__a { transform: rotate(-6deg) translateX(30px); }
.ab-range__b { transform: rotate(6deg) translateX(-30px) translateY(40px); }

.serve { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.serve__item { padding: 32px 26px; border-radius: var(--radius-lg); background: var(--light); text-align: center; transition: transform .4s var(--ease), background-color .3s, box-shadow .3s; }
.serve__item:hover { transform: translateY(-6px); background: #fff; box-shadow: var(--shadow-lg); }
.serve__item > .sjwp-ico { width: 64px; height: 64px; padding: 16px; border-radius: 50%; background: var(--ink); color: #fff; }
.serve__item h3 { margin: 18px 0 6px; font-size: 26px; font-weight: 800; font-style: italic; text-transform: uppercase; }
.serve__item p { margin: 0; color: var(--muted); }

@media (max-width: 1023px) {
	.sp-hero__grid, .sp-details__grid, .founder, .ab-range { grid-template-columns: 1fr; gap: 40px; }
	.sp-summary, .sp-specs { position: static; }
	.values, .serve { grid-template-columns: 1fr 1fr; }
	.founder__media { max-width: 480px; }
	.ab-range__visual { height: 440px; }
}

@media (max-width: 767px) {
	.sp-hero { padding: 16px 0 50px; }
	.sp-crumbs { margin-bottom: 18px; font-size: 13px; }
	.sp-excerpt { font-size: 16px; }
	.sp-chips strong { font-size: 18px; }
	.sp-speed__list { grid-template-columns: repeat(2, 1fr); }
	.sp-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 960; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); box-shadow: 0 -8px 24px rgba(6, 20, 45, .12); }
	body.single-product .sjwp-fab { display: none; }
	body.single-product .sjwp-footer { padding-bottom: 74px; }
	.ab-hero { min-height: 520px; padding: 90px 0; }
	.founder { gap: 30px; }
	.founder__media { padding: 0 16px 16px 0; }
	.founder__frame { inset: 16px 0 0 16px; }
	.founder__badge { padding: 14px 18px; }
	.founder__badge strong { font-size: 26px; }
	.values, .serve { grid-template-columns: 1fr; }
	.ab-range__visual { height: 360px; }
}

/* Custom templates are full-bleed: undo the Ecomus content container */
body.sjwp-full #site-content > .em-container { max-width: none; padding-left: 0; padding-right: 0; }

/* Gallery becomes a swipe slider on tablet / mobile */
@media (max-width: 1023px) {
	.sp-gallery__grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 6px; }
	.sp-gallery__grid::-webkit-scrollbar { display: none; }
	.sp-shot, .sp-shot--main, .sp-gallery__grid .sp-shot:not(.sp-shot--main) { flex: 0 0 88%; aspect-ratio: 1; scroll-snap-align: center; border-radius: 22px; }
	.sp-gallery__dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
	.sp-gallery__dots span { width: 8px; height: 8px; border-radius: 4px; background: #c5cfdd; transition: width .3s, background-color .3s; }
	.sp-gallery__dots span.is-active { width: 24px; background: var(--blue); }
}

/* No "back to top" button */
.sjwp #gotop, .sjwp .em-button-go-top { display: none !important; }

/* Hero: keyword H1 styled as the pill label */
.hero__h1.sj-eyebrow { margin: 0; font-family: var(--ff-body); font-style: normal; line-height: 1.3; text-transform: uppercase; }
.hero__h1 + .hero__title { margin-top: 22px; }

/* Dubai / UAE section */
.local__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; }
.local__answer { max-width: 640px; margin: 22px 0 0; font-size: 18px; line-height: 1.75; color: #c8d4e8; }
.local__answer strong { color: #fff; }
.local__emirates { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }
.local__emirates li { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); font-size: 14px; font-weight: 600; color: #fff; }
.local__emirates .sjwp-ico { color: var(--cyan); }
.local__facts { margin: 0; padding: 12px 28px; border-radius: var(--radius-lg); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); }
.local__facts div { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.local__facts div:last-child { border-bottom: 0; }
.local__facts dt { color: #9fb0c9; font-size: 15px; }
.local__facts dd { margin: 0; color: #fff; font-weight: 700; text-align: right; }
@media (max-width: 1023px) { .local__grid { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 767px) { .local__facts { padding: 6px 18px; } .local__facts div { flex-direction: column; gap: 2px; } .local__facts dd { text-align: left; } }

/* Header WhatsApp button: white icon + label, matching the floating button */
.sjwp .sjwp-header__cta, .sjwp .sjwp-header__cta:hover { color: #fff; }

/* Spotlight product imagery: photos shot on white sit in a card, cut-outs float free */
.spot__card { position: relative; z-index: 2; display: block; width: min(74%, 380px); padding: 26px; border-radius: 26px; background: #fff; box-shadow: 0 30px 60px rgba(0, 0, 0, .45); }
.spot__card img { display: block; width: 100%; height: auto; border-radius: 12px; }
.spot__cutout { position: relative; z-index: 2; display: block; height: 100%; }
.spot__cutout img { height: 100%; width: auto; object-fit: contain; filter: drop-shadow(0 40px 50px rgba(0, 0, 0, .6)); }
.hero__product .spot__card { width: min(70%, 330px); padding: 18px; }
@media (max-width: 767px) { .spot__card { width: 74%; padding: 16px; } }

/* About: range shots come from the live catalogue (photos on white) */
.ab-range__visual--live .ab-range__shot { position: relative; z-index: 2; display: block; width: 46%; padding: 14px; border-radius: 20px; background: #fff; box-shadow: var(--shadow-lg); }
.ab-range__visual--live .ab-range__shot img { display: block; width: 100%; height: auto; border-radius: 10px; }
.ab-range__visual--live .ab-range__a { transform: rotate(-5deg) translateX(18px); }
.ab-range__visual--live .ab-range__b { transform: rotate(5deg) translateX(-18px) translateY(28px); }

/* ==========================================================================
   Carousel (product slider + testimonials)
   ========================================================================== */
.sjcar { position: relative; }
.sjcar__track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 4px 8px; margin: -4px -4px 0; }
.sjcar__track::-webkit-scrollbar { display: none; }
.sjcar__track > * { flex: 0 0 calc((100% - 72px) / 4); scroll-snap-align: start; }
.sjcar__nav {
	position: absolute;
	top: 38%;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ink);
	cursor: pointer;
	box-shadow: var(--shadow-lg);
	transition: background-color .25s, color .25s, opacity .25s, transform .25s var(--ease);
}
.sjcar__nav:hover { background: var(--blue); color: #fff; }
.sjcar__nav[hidden] { display: none; }
.sjcar__nav:disabled { opacity: .35; pointer-events: none; }
.sjcar__nav .sjwp-ico { width: 22px; height: 22px; }
.sjcar__nav--prev { left: -22px; }
.sjcar__nav--prev .sjwp-ico { transform: rotate(180deg); }
.sjcar__nav--next { right: -22px; }
.sjcar__dots { display: flex; justify-content: center; gap: 8px; margin-top: 26px; }
.sjcar__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 5px; background: #c5cfdd; cursor: pointer; transition: width .3s, background-color .3s; }
.sjcar__dots button.is-active { width: 28px; background: var(--blue); }
.section--navy .sjcar__nav, .spot .sjcar__nav { background: rgba(255, 255, 255, .12); color: #fff; }
.pgrid--slider { display: flex; }

/* ---------- Testimonials ---------- */
.tsection .sjcar__track > * { flex: 0 0 calc((100% - 48px) / 3); }
.tcard { position: relative; display: flex; flex-direction: column; height: auto; margin: 0; padding: 34px 30px 28px; border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.tcard:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.tcard--empty { padding: 26px 30px; border: 1px dashed var(--line); box-shadow: none; }
.tcard--empty p { margin: 0; color: var(--muted); }
.tcard__quote { position: absolute; top: 6px; right: 24px; font-family: var(--ff-head); font-size: 90px; line-height: 1; color: rgba(31, 123, 255, .14); }
.tcard__stars { display: flex; gap: 3px; margin-bottom: 14px; color: #f5a623; font-size: 18px; line-height: 1; }
.tcard__stars .is-off { color: #dfe5ee; }
.tcard blockquote { margin: 0 0 22px; font-size: 17px; line-height: 1.7; color: #344055; }
.tcard blockquote p { margin: 0 0 10px; }
.tcard blockquote p:last-child { margin-bottom: 0; }
.tcard figcaption { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.tcard__avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.tcard__avatar--initial { display: grid; place-items: center; background: var(--navy-900); color: #fff; font-family: var(--ff-head); font-size: 24px; font-weight: 800; }
.tcard figcaption strong { display: block; font-family: var(--ff-head); font-size: 22px; font-weight: 700; text-transform: uppercase; line-height: 1.1; }
.tcard figcaption small { display: block; margin-top: 2px; color: var(--muted); font-size: 14px; }

@media (max-width: 1199px) {
	.sjcar__nav--prev { left: -8px; }
	.sjcar__nav--next { right: -8px; }
	.sjcar__track > * { flex: 0 0 calc((100% - 48px) / 3); }
	.tsection .sjcar__track > * { flex: 0 0 calc((100% - 24px) / 2); }
}
@media (max-width: 1023px) {
	.sjcar__track > *, .tsection .sjcar__track > * { flex: 0 0 calc((100% - 24px) / 2); }
}
@media (max-width: 767px) {
	.sjcar__track { gap: 14px; }
	.sjcar__track > *, .tsection .sjcar__track > * { flex: 0 0 86%; }
	.sjcar__nav { display: none; }
	.tcard { padding: 26px 22px 22px; }
	.tcard blockquote { font-size: 16px; }
}

/* Product-fact strip shown until real testimonials are published */
.tfacts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tfact { padding: 30px 26px; border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.tfact:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.tfact strong { display: block; font-family: var(--ff-head); font-size: clamp(26px, 2.4vw, 34px); font-weight: 800; font-style: italic; text-transform: uppercase; line-height: 1; color: var(--blue); }
.tfact span { display: block; margin-top: 10px; color: var(--muted); font-size: 15px; line-height: 1.55; }
@media (max-width: 1023px) { .tfacts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .tfacts { grid-template-columns: 1fr; gap: 12px; } .tfact { padding: 22px 20px; } }

.tcard__headline { margin: 0 0 12px; font-family: var(--ff-head); font-size: 24px; font-weight: 800; font-style: italic; text-transform: uppercase; line-height: 1.1; color: var(--ink); }

/* Neutralise the parent theme's blockquote decoration inside testimonial cards */
.tcard blockquote { border: 0 !important; padding: 0 !important; background: none !important; font-style: normal; quotes: none; }
.tcard blockquote::before, .tcard blockquote::after,
.tcard blockquote p::before, .tcard blockquote p::after { content: none !important; display: none !important; }

/* Shop / archive & related cards: show the whole product, never crop it */
.sjwp ul.products li.product .product-thumbnail,
.sjwp ul.products li.product .product-thumbnail a { display: block; }
.sjwp ul.products li.product .product-thumbnail img,
.sjwp ul.products li.product img.wp-post-image {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 4;
	object-fit: contain !important;
	padding: 10px;
	background: #fff;
}
.sjwp .pcard__media img { object-fit: contain; }

/* Search popup: keep the dialog inside the viewport on small screens */
.sjwp-search, .sjwp-search * { box-sizing: border-box; }
.sjwp-search__dialog { width: 100%; max-width: 720px; }
.sjwp-search__form { flex-wrap: nowrap; min-width: 0; }
.sjwp-search__form input[type="search"] { width: 100%; min-width: 0; }
@media (max-width: 480px) {
	.sjwp-search__form { flex-wrap: wrap; border-radius: 22px; padding: 12px 14px; gap: 10px; }
	.sjwp-search__form input[type="search"] { flex: 1 1 auto; order: 2; width: auto; height: 44px; }
	.sjwp-search__form > .sjwp-ico { order: 1; }
	.sjwp-search__form .btn { order: 3; flex: 1 1 100%; }
}
