/* ==========================================================================
   Telda Pharma — launch layer (sections, product landing pages, RTL, fixes)
   Loaded after style.css. Uses the same tokens.
   ========================================================================== */
:root { --tp-ink: #0B2A33; --tp-radius-lg: 32px; --tp-grad: linear-gradient(135deg, var(--color-primary), var(--color-secondary)); --tp-wa: #1FAF5A; }
html[lang="ar"] body { font-family: Cairo, Inter, Arial, sans-serif; }
html[lang="ar"] .eyebrow, html[lang="ar"] .announcement-bar { letter-spacing: 0; text-transform: none; }
.tp-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
html[dir="rtl"] .tp-icon[class*="arrow"], html[dir="rtl"] .tp-link .tp-icon, html[dir="rtl"] .need-card__more .tp-icon, html[dir="rtl"] .tp-moments__arrow .tp-icon { transform: scaleX(-1); }
.primary-button, .secondary-button { gap: 8px; }
.primary-button .tp-icon, .secondary-button .tp-icon { width: 19px; height: 19px; }
.tp-center { display: flex; justify-content: center; margin-top: 36px; }
.tp-lead { font-size: 1.08rem; line-height: 1.8; color: var(--color-text); }
.tp-link { display: inline-flex; align-items: center; gap: 6px; color: var(--color-primary); font-weight: 800; }
.tp-link .tp-icon { width: 18px; height: 18px; transition: transform var(--transition); }
a:hover .tp-link .tp-icon, .tp-link:hover .tp-icon { transform: translateX(3px); }
html[dir="rtl"] a:hover .tp-link .tp-icon { transform: scaleX(-1) translateX(3px); }
.tp-soft { background: var(--color-bg-soft); }
.tp-section-head { max-width: 760px; margin-bottom: 34px; }
.tp-section-head h2 { color: var(--color-heading); font-size: clamp(1.9rem, 3.6vw, 2.8rem); line-height: 1.12; letter-spacing: -.02em; }
.tp-section-head p { color: var(--color-muted); margin-top: 12px; font-size: 1.05rem; line-height: 1.75; }
html[lang="ar"] .tp-section-head h2, html[lang="ar"] .section-heading h2, html[lang="ar"] .page-hero h1 { letter-spacing: 0; line-height: 1.35; }
.tp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.tp-wa-button { background: linear-gradient(135deg, #17a34a, #25D366); box-shadow: 0 12px 24px rgba(31, 175, 90, .25); }
.tp-wa-button:hover { box-shadow: 0 16px 34px rgba(31, 175, 90, .32); }
.tp-wa-outline { color: #138a43; border-color: rgba(31, 175, 90, .35); }
.tp-wa-outline:hover { color: #0e7a3a; border-color: #25D366; background: #effbf3; }

/* ---------- Header / announcement ---------- */
.announcement-bar__track { direction: ltr; }
.announcement-bar__track span { unicode-bidi: plaintext; }
.announcement-bar__track span::after { content: "✦"; margin-inline-start: 48px; opacity: .55; }
.tp-lang-switch { padding: 8px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); line-height: 1; }
.tp-lang-switch:hover { border-color: var(--color-secondary); }
html[lang="en"] .tp-lang-switch { font-family: Cairo, sans-serif; }
.site-header__actions { gap: 8px; }
.cart-button b.is-empty { background: var(--color-muted); opacity: .55; }
.cart-button.is-bump { animation: tpBump .5s ease; }
@keyframes tpBump { 30% { transform: scale(1.12); } 60% { transform: scale(.96); } }
.mobile-drawer__extras .pill-button { gap: 8px; justify-content: flex-start; }
.mobile-drawer__extras .site-social-links { padding-top: 4px; }
html[dir="rtl"] .mobile-drawer__panel { left: auto; right: 0; }
html[dir="rtl"] .search-result { text-align: right; }
.search-result { text-align: start; }
.search-result img { width: 56px; height: 70px; object-fit: cover; }
.site-header__nav a { white-space: nowrap; }
@media (max-width: 1199px) { .site-header__nav { gap: 20px; font-size: 13px; } }

/* ---------- Floating WhatsApp tooltip ---------- */
.whatsapp-button { overflow: visible; }
.whatsapp-button img { border-radius: 50%; }
.tp-wa-tip { position: absolute; right: calc(100% + 12px); bottom: 50%; transform: translateY(50%) translateX(8px); background: #fff; color: var(--tp-ink); border-radius: 16px; padding: 9px 14px; box-shadow: 0 14px 34px rgba(12, 39, 47, .16); white-space: nowrap; display: grid; font-size: 13px; line-height: 1.35; opacity: 0; pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.tp-wa-tip span { color: var(--tp-wa); font-weight: 800; }
.whatsapp-button:hover .tp-wa-tip, .whatsapp-button:focus-visible .tp-wa-tip { opacity: 1; transform: translateY(50%) translateX(0); }
@media (hover: none) { .tp-wa-tip { display: none; } }

/* ---------- Toast ---------- */
.tp-toast { position: fixed; left: 50%; bottom: 28px; z-index: 400; transform: translate(-50%, 20px); background: var(--tp-ink); color: #fff; padding: 12px 20px; border-radius: var(--radius-pill); font-weight: 800; font-size: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.2); opacity: 0; pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.tp-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.tp-toast:empty { display: none; }

/* ---------- Page hero ---------- */
.tp-page-hero { position: relative; overflow: hidden; }
.tp-page-hero::after { content: ""; position: absolute; inset-inline-end: -120px; top: -140px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(0,169,183,.18), transparent 65%); pointer-events: none; }
.tp-page-hero .container { position: relative; z-index: 1; }
.tp-page-hero .breadcrumbs { margin-bottom: 18px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--color-muted); }
.breadcrumbs a { color: var(--color-primary-dark); font-weight: 700; }
.tp-crumbs-bar { padding-block: 16px; border-bottom: 1px solid var(--color-border); background: var(--color-bg-soft); }

/* ---------- Product grid ---------- */
.tp-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 22px; }
.product-card__subtitle { min-height: 2.9em; }
.product-card__variants { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-block: 8px 12px; }
.product-card__main-button { margin-top: 12px; cursor: pointer; }
.product-card__image-link img { object-fit: cover; }
@media (max-width: 1199px) { .tp-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .tp-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .tp-product-grid { gap: 14px 10px; } .tp-product-grid .product-card { padding: 8px 8px 12px; border-radius: 18px; } .tp-product-grid .product-card__title { font-size: 14px; } .tp-product-grid .product-card__subtitle { font-size: 12px; } .tp-product-grid .product-card__main-button { font-size: 13px; min-height: 38px; } .tp-product-grid .product-card__actions { display: none; } }
.tp-catalog-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.tp-search-field { flex: 1 1 320px; max-width: 520px; display: flex; align-items: center; gap: 10px; padding: 0 18px; min-height: 50px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: #fff; box-shadow: var(--shadow-card); color: var(--color-muted); }
.tp-search-field input { flex: 1; border: 0; outline: 0; background: transparent; min-height: 48px; color: var(--color-heading); }
.tp-search-field:focus-within { border-color: var(--color-secondary); }
.tp-empty { text-align: center; color: var(--color-muted); padding: 40px 0; font-weight: 700; }

/* ---------- Home: stats ---------- */
.stats-strip__item strong { font-size: clamp(1.5rem, 2.6vw, 2.1rem); color: var(--color-primary-dark); }
html[dir="rtl"] .stats-strip__item + .stats-strip__item { border-left: 0; border-right: 1px solid rgba(0, 91, 104, .12); }
@media (max-width: 767px) { html[dir="rtl"] .stats-strip__item + .stats-strip__item { border-right: 0; } }

/* ---------- Home: Why natural ---------- */
.tp-why__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.tp-why__media { position: relative; display: grid; place-items: center; padding: 30px; }
.tp-why__blob { position: absolute; inset: 6% 4%; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; background: radial-gradient(circle at 30% 30%, #fff, var(--color-mint) 60%, var(--color-secondary-soft)); animation: tpBlob 14s ease-in-out infinite alternate; }
@keyframes tpBlob { to { border-radius: 58% 42% 55% 45% / 45% 58% 42% 55%; transform: rotate(8deg); } }
.tp-why__media img { position: relative; width: min(100%, 420px); border-radius: 36px; box-shadow: 0 30px 60px rgba(0, 91, 104, .18); aspect-ratio: 4 / 5; object-fit: cover; }
.tp-why__badge { position: absolute; bottom: 44px; inset-inline-start: 10px; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: var(--radius-pill); background: #fff; color: var(--color-primary-dark); font-weight: 800; box-shadow: var(--shadow-card-hover); }
.tp-why__badge .tp-icon { color: #2FA36B; }
.tp-why__content h2 { color: var(--color-heading); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; letter-spacing: -.02em; }
.tp-why__list { list-style: none; display: grid; gap: 12px; margin: 28px 0 32px; }
.tp-why__list a { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--color-border); border-radius: 22px; background: #fff; font-weight: 800; color: var(--color-heading); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.tp-why__list a:hover { transform: translateY(-2px); border-color: var(--color-secondary); box-shadow: var(--shadow-card); }
.tp-why__icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; background: var(--color-primary-light); color: var(--color-primary); }
.tp-why__list span:nth-child(2) { flex: 1; }
.tp-why__arrow { color: var(--color-secondary); opacity: .6; }
@media (max-width: 900px) { .tp-why__grid { grid-template-columns: 1fr; } .tp-why__media { order: 2; } }

/* ---------- Home: shop by need (extra copy) ---------- */
.need-card__line, .need-card__more { display: none; }
.need-card.is-active .need-card__line { display: block; max-width: 360px; color: var(--color-muted); font-size: 14px; line-height: 1.5; margin-top: 4px; }
.need-card.is-active .need-card__more { display: inline-flex; align-items: center; gap: 6px; justify-content: center; margin-top: 8px; color: var(--color-primary); font-weight: 800; font-size: 14px; }
.need-card__more .tp-icon { width: 16px; height: 16px; }
.category-carousel__track { min-height: 380px; }
html[dir="rtl"] .category-carousel__track { direction: ltr; }
html[dir="rtl"] .need-card__copy { direction: rtl; }

/* ---------- Home: Story ---------- */
.tp-story .brand-story__content h2 { margin: 4px 0 20px; }
.tp-story__collage { position: relative; min-height: 520px; }
.tp-story__card { position: absolute; overflow: hidden; border-radius: 30px; box-shadow: 0 26px 56px rgba(0, 91, 104, .18); background: #fff; border: 6px solid #fff; }
.tp-story__card img { width: 100%; height: 100%; object-fit: cover; }
.tp-story__card--a { width: 52%; aspect-ratio: 4/5; inset-inline-start: 0; top: 8%; transform: rotate(-4deg); }
.tp-story__card--b { width: 50%; aspect-ratio: 4/5; inset-inline-end: 0; top: 0; z-index: 2; }
.tp-story__card--c { width: 42%; aspect-ratio: 4/5; inset-inline-start: 30%; bottom: 0; z-index: 3; transform: rotate(3deg); }
.tp-story__seal { position: absolute; z-index: 4; inset-inline-end: 6%; bottom: 10%; width: 108px; height: 108px; border-radius: 50%; display: grid; place-content: center; text-align: center; color: #fff; background: var(--tp-grad); box-shadow: 0 18px 36px rgba(0,125,140,.35); }
.tp-story__seal strong { font-size: 26px; line-height: 1; }
.tp-story__seal span { font-size: 12px; font-weight: 800; opacity: .9; }
.tp-tabs { margin-bottom: 26px; }
.tp-tabs__list { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 6px; border-radius: var(--radius-pill); background: #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); margin-bottom: 20px; }
.tp-tabs__tab { border: 0; background: transparent; padding: 10px 18px; border-radius: var(--radius-pill); font-weight: 800; color: var(--color-muted); transition: background var(--transition), color var(--transition); }
.tp-tabs__tab:hover { color: var(--color-primary); }
.tp-tabs__tab.is-active { background: var(--tp-grad); color: #fff; }
.tp-tabs__panel { animation: tpFade .35s ease; }
.tp-tabs__panel p + p { margin-top: 12px; }
.tp-tabs__panel .check-list { margin-top: 16px; }
@keyframes tpFade { from { opacity: 0; transform: translateY(6px); } }
@media (max-width: 1023px) { .tp-story__collage { min-height: 420px; max-width: 520px; margin-inline: auto; width: 100%; } }
@media (max-width: 520px) { .tp-story__collage { min-height: 330px; } .tp-story__seal { width: 84px; height: 84px; } .tp-story__seal strong { font-size: 20px; } }
.check-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.check-list li { position: relative; padding-inline-start: 28px; font-weight: 700; color: var(--color-heading); }
.check-list li::before { content: ""; position: absolute; inset-inline-start: 0; top: .35em; width: 18px; height: 18px; border-radius: 50%; background: var(--color-primary-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007D8C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
@media (max-width: 520px) { .check-list { grid-template-columns: 1fr; } }

/* ---------- Home: support cards ---------- */
.tp-support { padding-block: 20px 64px; }
.tp-support .benefit-card { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 30px 24px; box-shadow: var(--shadow-card); }
.tp-support .benefit-card .tp-icon { width: 54px; height: 54px; padding: 13px; margin: 0 auto 14px; display: block; border-radius: 18px; background: var(--color-primary-light); color: var(--color-primary); }
.tp-support .benefit-card h3 { font-size: 18px; }
.tp-support .benefit-card p { font-size: 15px; line-height: 1.65; }
.service-benefits__grid { gap: 22px; }

/* ---------- Pharmacies ---------- */
.tp-pharmacies-home { background: linear-gradient(180deg, #fff, var(--color-bg-soft)); overflow: hidden; }
.tp-marquee { position: relative; overflow: hidden; direction: ltr; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.tp-marquee__track { display: flex; gap: 16px; width: max-content; animation: marquee 40s linear infinite; padding-block: 8px; }
.tp-marquee:hover .tp-marquee__track { animation-play-state: paused; }
.tp-marquee__item { display: grid; gap: 2px; min-width: 210px; padding: 18px 22px; border-radius: 22px; background: #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); text-align: center; }
.tp-marquee__item strong { color: var(--color-heading); unicode-bidi: plaintext; }
.tp-marquee__item bdi { color: var(--color-primary); font-weight: 800; }
.tp-online-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 26px; color: var(--color-muted); font-weight: 700; }
.tp-online-badges b { padding: 8px 18px; border-radius: var(--radius-pill); background: var(--tp-ink); color: #fff; letter-spacing: .02em; }
.tp-online-badges b:nth-of-type(1) { background: #F68B1E; }
.tp-online-badges b:nth-of-type(2) { background: #FEEE00; color: #1b1b1b; }
@media (prefers-reduced-motion: reduce) { .tp-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; } }

/* ---------- Partners ---------- */
.tp-partners__grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; }
.tp-partners__logo { aspect-ratio: 1; display: grid; place-items: center; padding: 10px; border-radius: 22px; border: 1px solid var(--color-border); background: #fff; filter: grayscale(1); opacity: .8; transition: filter var(--transition), opacity var(--transition); }
.tp-partners__logo:hover { filter: none; opacity: 1; }
.tp-partners__logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
@media (max-width: 900px) { .tp-partners__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Testimonial ---------- */
.tp-testimonial { padding-block: 40px; }
.tp-quote { max-width: 820px; margin-inline: auto; text-align: center; padding: clamp(32px, 5vw, 56px); border-radius: var(--tp-radius-lg); background: radial-gradient(circle at 10% 0%, rgba(0,169,183,.14), transparent 40%), #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); position: relative; }
.tp-quote::before { content: "“"; position: absolute; top: -10px; inset-inline-start: 34px; font: 900 120px/1 Georgia, serif; color: var(--color-secondary-soft); }
.tp-quote__stars { display: flex; justify-content: center; gap: 4px; color: #F5B301; margin-bottom: 14px; }
.tp-quote__stars .tp-icon { fill: currentColor; stroke: none; width: 20px; height: 20px; }
.tp-quote blockquote p { font-size: clamp(1.3rem, 2.6vw, 1.9rem); font-weight: 800; color: var(--color-heading); line-height: 1.45; }
.tp-quote figcaption { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; color: var(--color-heading); }
.tp-quote__avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--tp-grad); color: #fff; font-weight: 900; font-size: 14px; }

/* ---------- CTA bands ---------- */
.tp-help__box { gap: 28px; }
.tp-help__box p { max-width: 640px; }
.tp-cta-band__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.tp-cta-section { padding-block: 24px 72px; }
.tp-cta-band { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(28px, 4vw, 48px); border-radius: var(--radius-section); color: #fff; background: radial-gradient(circle at 90% 10%, rgba(255,255,255,.18), transparent 35%), linear-gradient(135deg, var(--color-primary-dark), var(--color-primary) 55%, var(--color-secondary)); box-shadow: 0 26px 60px rgba(0, 91, 104, .25); }
.tp-cta-band h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.2; }
.tp-cta-band p { margin-top: 8px; opacity: .88; max-width: 640px; }
.tp-cta-band .eyebrow { color: #CFF7FA; }
.tp-cta-band .primary-button:not(.tp-wa-button) { background: #fff; color: var(--color-primary-dark); }
.tp-cta-band .secondary-button { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.tp-cta-band .secondary-button:hover { background: rgba(255,255,255,.12); color: #fff; }
@media (max-width: 767px) { .tp-cta-band { flex-direction: column; align-items: flex-start; } }

/* ---------- Social card ---------- */
.tp-social-section { padding-block: 0 80px; }
.tp-social-card { display: flex; align-items: center; gap: 22px; padding: 26px 30px; border-radius: var(--tp-radius-lg); background: linear-gradient(135deg, #1877F2, #3b8ff5); color: #fff; box-shadow: 0 22px 48px rgba(24, 119, 242, .25); transition: transform var(--transition); }
.tp-social-card:hover { transform: translateY(-3px); }
.tp-social-card__icon { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 20px; display: grid; place-items: center; background: rgba(255,255,255,.16); }
.tp-social-card__icon .tp-icon { width: 30px; height: 30px; fill: #fff; stroke: none; }
.tp-social-card__copy { flex: 1; display: grid; gap: 4px; }
.tp-social-card__copy strong { font-size: 1.4rem; }
.tp-social-card__copy span { opacity: .9; }
.tp-social-card .primary-button { background: #fff; color: #1877F2; box-shadow: none; }
.tp-social-card--stack { flex-direction: column; align-items: flex-start; }
@media (max-width: 640px) { .tp-social-card { flex-direction: column; align-items: flex-start; } }

/* ---------- Generic cards ---------- */
.tp-check-list { list-style: none; display: grid; gap: 10px; margin-top: 14px; padding: 0 !important; }
.tp-check-list li { display: flex; gap: 10px; align-items: flex-start; color: var(--color-text); }
.tp-check-list .tp-icon { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--color-primary-light); color: var(--color-primary); stroke-width: 3; margin-top: 2px; }
.tp-info-card { padding: 28px; border-radius: var(--radius-card); border: 1px solid var(--color-border); background: #fff; box-shadow: var(--shadow-card); }
.tp-info-card > .tp-icon { width: 52px; height: 52px; padding: 13px; border-radius: 16px; background: var(--color-primary-light); color: var(--color-primary); margin-bottom: 14px; }
.tp-info-card h2 { color: var(--color-heading); font-size: 1.3rem; }
.tp-info-card p { color: var(--color-muted); margin-top: 10px; line-height: 1.75; }
.tp-contact-strip { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.tp-contact-strip a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-bg-soft); color: var(--color-heading); font-weight: 700; }
.tp-contact-strip a:hover { border-color: var(--color-secondary); color: var(--color-primary); }
.tp-contact-strip .tp-icon { color: var(--color-primary); width: 18px; height: 18px; }
.tp-notice { max-width: 760px; margin-inline: auto; text-align: center; padding: clamp(32px, 5vw, 56px); border-radius: var(--tp-radius-lg); border: 1px solid var(--color-border); background: linear-gradient(135deg, var(--color-primary-light), #fff); box-shadow: var(--shadow-card); }
.tp-notice > .tp-icon { width: 70px; height: 70px; padding: 18px; border-radius: 50%; background: #fff; color: var(--color-primary); box-shadow: var(--shadow-card); margin: 0 auto 18px; display: block; }
.tp-notice p { color: var(--color-text); font-size: 1.08rem; line-height: 1.8; }
.tp-notice .tp-cta-band__actions { justify-content: center; margin-top: 24px; }

/* ---------- About ---------- */
.tp-about-intro__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.tp-about-intro h2 { color: var(--color-heading); font-size: clamp(1.9rem, 3.6vw, 2.8rem); line-height: 1.15; margin-bottom: 18px; }
.tp-pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tp-pillar { padding: clamp(28px, 4vw, 44px); border-radius: var(--tp-radius-lg); background: #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); }
.tp-pillar > .tp-icon { width: 60px; height: 60px; padding: 15px; border-radius: 18px; background: var(--tp-grad); color: #fff; margin-bottom: 18px; }
.tp-pillar h2 { color: var(--color-heading); font-size: 1.7rem; }
.tp-pillar p { color: var(--color-muted); line-height: 1.8; margin-top: 12px; }
.tp-about-pillars { background: var(--color-bg-soft); }
.tp-values__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tp-value { text-align: center; padding: 34px 26px; border-radius: var(--radius-card); border: 1px solid var(--color-border); background: #fff; transition: transform var(--transition), box-shadow var(--transition); }
.tp-value:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.tp-value .tp-icon { width: 56px; height: 56px; padding: 14px; border-radius: 50%; background: var(--color-primary-light); color: var(--color-primary); margin: 0 auto 16px; display: block; }
.tp-value h3 { color: var(--color-heading); font-size: 1.3rem; }
.tp-value p { color: var(--color-muted); margin-top: 8px; line-height: 1.7; }
@media (max-width: 900px) { .tp-about-intro__grid, .tp-pillars, .tp-values__grid { grid-template-columns: 1fr; } }

/* ---------- Categories ---------- */
.tp-cat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tp-cat-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tp-cat-card { display: grid; overflow: hidden; border-radius: var(--tp-radius-lg); border: 1px solid var(--color-border); background: #fff; box-shadow: var(--shadow-card); transition: transform var(--transition), box-shadow var(--transition); }
.tp-cat-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.tp-cat-card__media { aspect-ratio: 16 / 11; overflow: hidden; background: var(--color-primary-light); }
.tp-cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.tp-cat-card:hover img { transform: scale(1.05); }
.tp-cat-card__body { display: grid; gap: 8px; padding: 22px 24px 26px; }
.tp-cat-card__body small { color: var(--color-primary); font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.tp-cat-card__body strong { color: var(--color-heading); font-size: 1.45rem; }
.tp-cat-card__body > span:not(.tp-link) { color: var(--color-muted); }
.tp-related-cats { background: var(--color-bg-soft); }
@media (max-width: 900px) { .tp-cat-grid, .tp-cat-grid--two { grid-template-columns: 1fr; } }

/* ---------- Product landing page ---------- */
.tp-pdp-top { padding-block: 40px 64px; background: radial-gradient(circle at 0% 0%, rgba(0,169,183,.1), transparent 40%); }
.tp-pdp-top__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.tp-pdp-gallery { position: sticky; top: calc(var(--header-height) + 20px); }
.tp-pdp-gallery .product-gallery__stage { border-radius: var(--tp-radius-lg); overflow: hidden; background: #fff; box-shadow: var(--shadow-card); border: 1px solid var(--color-border); }
.tp-pdp-gallery .product-gallery__stage img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.tp-pdp-gallery .product-gallery__thumbs { display: flex; gap: 12px; margin-top: 14px; }
.tp-pdp-info .eyebrow { margin-bottom: 8px; }
.tp-pdp-info h1 { color: var(--color-heading); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.02em; }
html[lang="ar"] .tp-pdp-info h1 { letter-spacing: 0; line-height: 1.3; }
.tp-pdp-subtitle { color: var(--color-primary-dark); font-weight: 800; margin-top: 8px; }
.tp-pdp-hook { color: var(--color-heading); font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.4; margin: 22px 0 10px; }
.tp-pdp-info .tp-lead + .tp-lead { margin-top: 10px; }
.tp-pdp-info .detail-options { margin-top: 22px; }
.tp-pdp-info .detail-label { display: block; font-weight: 800; color: var(--color-heading); margin-bottom: 10px; }
.tp-pdp-info .qty-row { margin-top: 20px; display: flex; align-items: center; gap: 16px; font-weight: 800; }
.tp-pdp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.tp-pdp-actions > * { flex: 1 1 200px; min-height: 54px; }
.tp-pdp-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--color-border); }
.tp-pdp-meta div { display: flex; gap: 6px; font-size: 14px; }
.tp-pdp-meta dt { color: var(--color-muted); }
.tp-pdp-meta dt::after { content: ":"; }
.tp-pdp-meta dd { margin: 0; font-weight: 800; color: var(--color-heading); }
.tp-pdp-trust { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.tp-pdp-trust li { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border-radius: 18px; background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.tp-pdp-trust .tp-icon { color: var(--color-primary); }
.tp-pdp-trust strong { display: block; font-size: 13px; color: var(--color-heading); line-height: 1.3; }
.tp-pdp-trust small { color: var(--color-muted); font-size: 12px; line-height: 1.4; display: block; margin-top: 2px; }
@media (max-width: 1023px) { .tp-pdp-top__grid { grid-template-columns: 1fr; } .tp-pdp-gallery { position: static; max-width: 560px; margin-inline: auto; width: 100%; } }
@media (max-width: 640px) { .tp-pdp-trust { grid-template-columns: 1fr; } }
.tp-jump { position: sticky; top: var(--header-height); z-index: 40; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); border-block: 1px solid var(--color-border); }
.tp-jump__inner { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-block: 10px; }
.tp-jump__inner::-webkit-scrollbar { display: none; }
.tp-jump a { flex: 0 0 auto; padding: 8px 16px; border-radius: var(--radius-pill); font-weight: 800; font-size: 14px; color: var(--color-muted); }
.tp-jump a:hover { background: var(--color-primary-light); color: var(--color-primary); }
.tp-pdp-section { scroll-margin-top: calc(var(--header-height) + 60px); }
.tp-feature-grid { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tp-feature-grid li { display: flex; gap: 16px; padding: 24px; border-radius: 24px; background: #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); }
.tp-feature-grid__num { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--tp-grad); color: #fff; font-weight: 900; font-size: 14px; }
.tp-feature-grid p { color: var(--color-heading); font-weight: 700; line-height: 1.65; }
.tp-why-lead { padding: 28px 32px; border-radius: 26px; background: var(--tp-grad); color: #fff; margin-bottom: 22px; }
.tp-why-lead h3 { font-size: 1.35rem; line-height: 1.35; }
.tp-why-lead p { margin-top: 8px; opacity: .92; line-height: 1.7; }
.tp-why-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tp-why-cards article { padding: 28px 24px; border-radius: 24px; background: #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); }
.tp-why-cards .tp-icon { width: 50px; height: 50px; padding: 12px; border-radius: 16px; background: var(--color-primary-light); color: var(--color-primary); margin-bottom: 16px; }
.tp-why-cards h3 { color: var(--color-heading); font-size: 1.12rem; line-height: 1.35; }
.tp-why-cards p { color: var(--color-muted); margin-top: 8px; line-height: 1.7; font-size: 15px; }
.tp-formula-group + .tp-formula-group { margin-top: 34px; }
.tp-formula-group h3 { display: inline-flex; margin-bottom: 16px; padding: 8px 18px; border-radius: var(--radius-pill); background: var(--color-primary-light); color: var(--color-primary-dark); font-size: 1rem; }
.tp-ingredients { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.tp-ingredient { position: relative; padding: 22px 22px 20px; border-radius: 22px; background: #fff; border: 1px solid var(--color-border); overflow: hidden; transition: transform var(--transition), border-color var(--transition); }
.tp-ingredient::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 4px; background: var(--tp-grad); }
.tp-ingredient:hover { transform: translateY(-3px); border-color: var(--color-secondary); }
.tp-ingredient h4 { color: var(--color-heading); font-size: 1.02rem; text-align: start; unicode-bidi: plaintext; }
.tp-ingredient p { color: var(--color-muted); margin-top: 6px; font-size: 14.5px; line-height: 1.65; }
.tp-formula-extra { margin-top: 26px; padding: 24px 28px; border-radius: 24px; background: linear-gradient(135deg, #F2FBF6, #fff); border: 1px dashed #9BD8B5; }
.tp-formula-extra h3 { color: #1E7A4C; }
.tp-formula-extra p { color: var(--color-text); margin-top: 6px; line-height: 1.75; }
.tp-formula-note { margin-top: 22px; color: var(--color-primary-dark); font-weight: 800; }
.tp-moments { list-style: none; display: grid; gap: 12px; counter-reset: m; }
.tp-moments li { display: grid; grid-template-columns: minmax(200px, .8fr) auto minmax(0, 2fr); align-items: center; gap: 18px; padding: 20px 24px; border-radius: 22px; background: #fff; border: 1px solid var(--color-border); }
.tp-moments strong { color: var(--color-heading); font-size: 1.05rem; }
.tp-moments__arrow { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--color-primary-light); color: var(--color-primary); }
.tp-moments__arrow .tp-icon { width: 18px; height: 18px; }
.tp-moments p { color: var(--color-muted); line-height: 1.7; }
@media (max-width: 767px) { .tp-moments li { grid-template-columns: 1fr; gap: 6px; } .tp-moments__arrow { display: none; } }
.tp-usage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tp-usage-grid--single { grid-template-columns: 1fr; max-width: 820px; }
.tp-usage { padding: 28px; border-radius: 26px; background: #fff; border: 1px solid var(--color-border); box-shadow: var(--shadow-card); }
.tp-usage h3 { color: var(--color-heading); margin-bottom: 14px; }
.tp-usage ol { list-style: none; counter-reset: s; display: grid; gap: 12px; }
.tp-usage li { counter-increment: s; position: relative; padding-inline-start: 48px; min-height: 34px; display: flex; align-items: center; line-height: 1.65; color: var(--color-text); }
.tp-usage li::before { content: counter(s); position: absolute; inset-inline-start: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--tp-grad); color: #fff; font-weight: 900; font-size: 14px; }
.tp-usage-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; padding: 16px 20px; border-radius: 18px; background: var(--color-warning-soft); color: #7A4B00; font-weight: 700; }
.tp-availability { background: linear-gradient(180deg, var(--color-bg-soft), #fff); }
.tp-availability .tp-online-badges { justify-content: flex-start; margin: 0 0 22px; }
.tp-pharmacy-grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.tp-pharmacy { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 16px 18px; border-radius: 20px; background: #fff; border: 1px solid var(--color-border); transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition); }
.tp-pharmacy:hover { border-color: var(--color-secondary); transform: translateY(-2px); box-shadow: var(--shadow-card); }
.tp-pharmacy__icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--color-primary-light); color: var(--color-primary); }
.tp-pharmacy__icon .tp-icon { width: 18px; height: 18px; }
.tp-pharmacy__name { font-weight: 800; color: var(--color-heading); line-height: 1.35; }
.tp-pharmacy__phone { font-weight: 900; color: var(--color-primary); font-size: 14px; }
.tp-simple-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tp-related { background: var(--color-bg-soft); }
@media (max-width: 1100px) { .tp-why-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tp-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .tp-why-cards, .tp-feature-grid, .tp-usage-grid, .tp-simple-grid { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.tp-contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 40px; }
.tp-contact-card { display: grid; gap: 6px; align-content: start; padding: 30px; border-radius: var(--tp-radius-lg); border: 1px solid var(--color-border); background: #fff; box-shadow: var(--shadow-card); transition: transform var(--transition), box-shadow var(--transition); }
.tp-contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.tp-contact-card > .tp-icon { width: 56px; height: 56px; padding: 14px; border-radius: 18px; background: var(--color-primary-light); color: var(--color-primary); margin-bottom: 10px; }
.tp-contact-card--wa > .tp-icon { background: #E8F8EE; color: var(--tp-wa); }
.tp-contact-card small { color: var(--color-primary); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: 12px; }
.tp-contact-card h2 { color: var(--color-heading); font-size: 1.35rem; }
.tp-contact-card p { color: var(--color-muted); }
.tp-contact-card .tp-link { margin-top: 8px; word-break: break-all; }
.tp-contact-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; align-items: start; scroll-margin-top: calc(var(--header-height) + 20px); }
.tp-contact-aside { display: grid; gap: 20px; }
.tp-social-dark .social-link { border-color: var(--color-border); }
.tp-social-dark .social-link__icon { filter: none; }
.tp-form { display: grid; gap: 16px; padding: clamp(24px, 4vw, 40px); border-radius: var(--tp-radius-lg); border: 1px solid var(--color-border); background: #fff; box-shadow: var(--shadow-card); }
.tp-form h2 { color: var(--color-heading); font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }
.tp-form__intro { color: var(--color-muted); margin-top: -8px; }
.tp-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tp-form label { display: grid; gap: 6px; font-weight: 800; color: var(--color-heading); font-size: 14px; }
.tp-form input, .tp-form select, .tp-form textarea { width: 100%; border: 1px solid var(--color-border); border-radius: 16px; padding: 13px 16px; background: var(--color-bg-soft); color: var(--color-heading); font-weight: 500; transition: border-color var(--transition), box-shadow var(--transition), background var(--transition); }
html[dir="rtl"] .tp-form input[dir="ltr"] { text-align: right; }
.tp-form input:focus, .tp-form select:focus, .tp-form textarea:focus { outline: 0; border-color: var(--color-secondary); background: #fff; box-shadow: 0 0 0 4px rgba(0,169,183,.14); }
.tp-form textarea { resize: vertical; min-height: 140px; }
.tp-form button[type="submit"] { justify-self: start; min-width: 200px; }
.tp-form button[disabled] { opacity: .7; cursor: progress; }
.tp-form__status { font-weight: 700; min-height: 1.2em; }
.tp-form__status.is-success { color: #1E7A4C; padding: 14px 18px; border-radius: 16px; background: #E8F8EE; }
.tp-form__status.is-error { color: #A33A2B; padding: 14px 18px; border-radius: 16px; background: #FDEDEA; }
.tp-form__status a { text-decoration: underline; }
@media (max-width: 900px) { .tp-contact-cards, .tp-contact-layout { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .tp-form__row { grid-template-columns: 1fr; } .tp-form button[type="submit"] { width: 100%; } }

/* ---------- FAQ ---------- */
.tp-faq { max-width: 900px; margin-inline: auto; display: grid; gap: 14px; }
.tp-faq__item { border: 1px solid var(--color-border); border-radius: 24px; background: #fff; transition: box-shadow var(--transition), border-color var(--transition); }
.tp-faq__item[open] { border-color: rgba(0,169,183,.45); box-shadow: var(--shadow-card); }
.tp-faq__item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 26px; cursor: pointer; font-weight: 800; color: var(--color-heading); font-size: 1.05rem; }
.tp-faq__item summary::-webkit-details-marker { display: none; }
.tp-faq__plus { position: relative; flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--color-primary-light); }
.tp-faq__plus::before, .tp-faq__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: var(--color-primary); transform: translate(-50%, -50%); transition: transform var(--transition); }
.tp-faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.tp-faq__item[open] .tp-faq__plus::after { transform: translate(-50%, -50%) rotate(0); }
.tp-faq__answer { padding: 0 26px 24px; color: var(--color-muted); line-height: 1.8; }
.tp-faq__answer p + p, .tp-faq__answer ul + p { margin-top: 10px; }

/* ---------- Blog ---------- */
.tp-article-grid { gap: 26px; }
.tp-article-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; transition: transform var(--transition), box-shadow var(--transition); }
.tp-article-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.tp-article-card .article-card__image-link { display: block; aspect-ratio: 16/10; overflow: hidden; }
.tp-article-card .article-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.tp-article-card:hover .article-card__image { transform: scale(1.05); }
.tp-article-card__body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 26px; flex: 1; }
.tp-article-card h2 { font-size: 1.2rem; line-height: 1.35; }
.tp-article-card h2 a { color: var(--color-heading); }
.tp-article-card .tp-link { margin-top: auto; padding-top: 8px; }
.article-card__meta { color: var(--color-primary); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.tp-article .article-card__hero { width: 100%; border-radius: 24px; margin-bottom: 28px; aspect-ratio: 16/9; object-fit: cover; }
.tp-article section h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
html[dir="rtl"] .article-card--feature section ul, html[dir="rtl"] .article-card--feature section ol { padding-left: 0; padding-right: 22px; }
.article-faq { margin-top: 24px; padding: 20px 24px; border-radius: 20px; background: var(--color-bg-soft); border: 0 !important; }
.article-faq h4 { color: var(--color-heading); margin-top: 8px; }
.article-card__credit { font-size: 12px; color: var(--color-muted); margin: -18px 0 20px; }
.tp-article-notice { display: flex; gap: 10px; align-items: flex-start; margin-top: 30px; padding: 16px 20px; border-radius: 18px; background: var(--color-bg-soft); color: var(--color-muted); font-size: 14px; }
.tp-article-notice .tp-icon { color: var(--color-primary); }
.article-card__footer-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- Policies ---------- */
.tp-policy { max-width: 920px; margin-inline: auto; padding: clamp(26px, 4vw, 52px); }
.tp-policy section + section { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--color-border); }
.tp-policy h2 { font-size: 1.35rem; }
.tp-policy h3 { color: var(--color-heading); margin-top: 22px; }
.tp-policy p { line-height: 1.85; }
.tp-policy a { color: var(--color-primary-dark); font-weight: 700; }
.tp-policy .tp-contact-strip a { font-weight: 700; }

/* ---------- Cart ---------- */
.cart-drawer__footer.is-empty .tp-cart-note, .cart-drawer__footer.is-empty [data-cart-order] { display: none; }
.tp-cart-note { color: var(--color-muted); font-size: 13px; text-align: center; margin-bottom: 10px; }
.cart-drawer__footer { display: grid; gap: 10px; }
[data-cart-order].is-disabled { opacity: .5; pointer-events: none; }
.cart-item a img { width: 74px; height: 92px; object-fit: cover; border-radius: 12px; }
.cart-item h3 { font-size: 15px; color: var(--color-heading); }
.cart-item p { color: var(--color-muted); font-size: 13px; }
.cart-item__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.cart-item__controls { display: inline-flex; align-items: center; gap: 10px; }
.cart-item__controls button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--color-border); background: #fff; font-weight: 900; }
.cart-item__remove { border: 0; background: none; color: #A33A2B; font-weight: 800; font-size: 13px; }
.cart-page__summary { display: grid; gap: 12px; }
.cart-page__summary .primary-button, .cart-page__summary .secondary-button { margin-top: 0; }
.tp-summary-title { color: var(--color-heading); font-size: 1rem; margin-top: 8px; }
.cart-empty .secondary-button { margin-top: 6px; }
.quick-view__details { display: grid; gap: 12px; align-content: start; }
.quick-view__image img { border-radius: 22px; width: 100%; object-fit: cover; }

/* ---------- Footer ---------- */
.tp-footer-tagline { color: #CFF7FA !important; font-weight: 800; margin-top: 16px; }
.site-footer__brand .site-social-links { margin-top: 16px; }
.tp-footer-button { display: inline-flex !important; width: fit-content; margin-top: 10px; padding: 10px 18px; border-radius: var(--radius-pill); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); font-weight: 800; }
.tp-footer-button:hover { background: rgba(255,255,255,.2); }
html[dir="rtl"] .site-footer, html[dir="rtl"] .footer-accordion__button { text-align: right; }

/* ---------- 404 ---------- */
.tp-404 { text-align: center; padding-block: 90px; }
.tp-404 p { margin-inline: auto; }
.tp-404 .tp-cta-band__actions { justify-content: center; margin-top: 22px; }
.tp-404__code { display: block; font-size: clamp(5rem, 14vw, 9rem); font-weight: 900; line-height: 1; background: var(--tp-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tp-404__ar { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--color-border); font-family: Cairo, sans-serif; }
.tp-404__ar h2 { color: var(--color-heading); font-size: 1.8rem; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .tp-hide-sm { display: none !important; }
  .cart-button { padding: 0 10px; }
  .tp-lang-switch { padding: 7px 10px; font-size: 13px; }
  .tp-cta-band__actions { width: 100%; }
  .tp-cta-band__actions > a { flex: 1 1 100%; }
  .tp-pdp-top { padding-top: 24px; }
  .tp-feature-grid li, .tp-why-cards article, .tp-usage { padding: 20px; }
  .whatsapp-button { bottom: 16px; }
}
@media (max-width: 767px) { .top-utility-bar__links { gap: 14px; font-size: 12px; } }
@media (max-width: 480px) { .top-utility-bar { display: none; } }

/* ---------- Fixes after QA ---------- */
.tp-pdp-gallery.product-detail__media { min-height: 0; padding: 18px; align-content: start; }
.tp-pdp-gallery .product-gallery__stage { min-height: 0; display: block; }
.tp-pdp-gallery .product-gallery__stage img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; max-height: 640px; }
.tp-pdp-gallery .product-gallery__thumb { width: 84px; height: 104px; padding: 4px; }
.tp-pdp-gallery .product-gallery__thumb img { object-fit: cover; border-radius: 10px; }
@media (max-width: 767px) { .tp-pdp-gallery .product-gallery__stage img { height: auto; } }
.tp-pharmacy-grid { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.tp-pharmacy { grid-template-columns: auto 1fr; }
.tp-pharmacy__phone { grid-column: 2; margin-top: -8px; }
.tp-story__seal { flex-direction: column; }
html[dir="rtl"] .tp-ingredient h4 { text-align: right; }
@media (max-width: 767px) {
  .stats-strip__card { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .stats-strip__item { min-width: 0 !important; padding: 18px 10px !important; justify-content: center !important; align-content: center; gap: 4px; }
  .stats-strip__item:nth-child(odd) { border-inline-end: 1px solid rgba(0, 91, 104, .12); }
  .stats-strip__item:nth-child(-n+2) { border-bottom: 1px solid rgba(0, 91, 104, .12); }
  .stats-strip__item:last-child { padding-top: 18px !important; }
  .tp-why__media img { width: min(100%, 300px); }
  .tp-why__media { padding: 10px; }
}
@media (max-width: 767px) { .stats-strip__card { aspect-ratio: auto !important; } }
