/* Demo sections refinements (scoped). Target only non-hero sections.
   Scope: .theme-physiocare to prevent regressions outside the demo page. */

/* Brand bridge: map demo fa variables to landing fisio variables */
.theme-physiocare{
  --fa-primary: var(--fisio-primary);
  --fa-secondary: var(--fisio-secondary);
  /* Modern surface tokens */
  --surface-radius: 16px;
  --surface-shadow: 0 14px 40px rgba(2,8,23,.08);
  --surface-shadow-hover: 0 18px 44px rgba(2,8,23,.12);
  --surface-border: 1px solid rgba(var(--fisio-primary-rgb), .12);
  --surface-bg: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
}

/* Section rhythm and headings */
.theme-physiocare .section{
  padding: clamp(2.5rem, 2vw + 1.5rem, 4rem) 0;
}
.theme-physiocare .section .section-title{
  font-weight: 800;
  letter-spacing: -0.015em;
  font-size: clamp(1.6rem, 0.9vw + 1.4rem, 2.2rem);
  margin-bottom: .25rem;
}
.theme-physiocare .section .section-sub{
  color: var(--fa-muted);
  font-size: clamp(.95rem, .3vw + .9rem, 1.05rem);
}
/* Subtle accent bar under titles */
.theme-physiocare .section .section-title::after{
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  opacity: .25;
  margin-top: .5rem;
  margin-left: 0;
}
.theme-physiocare .text-center .section-title::after{margin-left:auto;margin-right:auto}

/* Card system unification */
.theme-physiocare .stat-card,
.theme-physiocare .feature-card,
.theme-physiocare .specialty-card,
.theme-physiocare .service-card,
.theme-physiocare .testimonial,
.theme-physiocare .team-card,
.theme-physiocare .process-step{
  border: var(--surface-border);
  background: var(--surface-bg);
  border-radius: var(--surface-radius);
  box-shadow: var(--surface-shadow);
  backdrop-filter: blur(8px);
}
.theme-physiocare .stat-card:hover,
.theme-physiocare .feature-card:hover,
.theme-physiocare .specialty-card:hover,
.theme-physiocare .service-card:hover,
.theme-physiocare .testimonial:hover,
.theme-physiocare .team-card:hover,
.theme-physiocare .process-step:hover{
  transform: translateY(-3px);
  box-shadow: var(--surface-shadow-hover);
}

/* Icon chips glow */
.theme-physiocare .specialty-icon,
.theme-physiocare .service-card .icon,
.theme-physiocare .feature-icon{
  box-shadow: 0 4px 10px rgba(45,122,106,.10);
}
/* Icon micro-interactions */
.theme-physiocare .specialty-icon,
.theme-physiocare .service-card .icon,
.theme-physiocare .feature-icon{transition: transform .2s ease}
.theme-physiocare .specialty-card:hover .specialty-icon,
.theme-physiocare .service-card:hover .icon,
.theme-physiocare .feature-card:hover .feature-icon{transform: translateY(-2px) scale(1.03)}

/* Stats strip tuning */
.theme-physiocare .stats-strip{background: var(--section-after-bg)}
.theme-physiocare .stat-card{border-color:#dbe7e2}
.theme-physiocare .stat-value{letter-spacing:-0.02em}

/* Team avatars micro-interactions */
.theme-physiocare .team-avatar,
.theme-physiocare .team-avatar-fallback{transition: transform .2s ease, box-shadow .2s ease}
.theme-physiocare .testimonial:hover .team-avatar,
.theme-physiocare .testimonial:hover .team-avatar-fallback{transform: translateY(-2px);box-shadow:0 8px 20px rgba(2,8,23,.08)}

/* Testimonial quote decoration */
.theme-physiocare .testimonial .quote{position:relative;padding-left:1.25rem}
.theme-physiocare .testimonial .quote::before{content:"\201C";position:absolute;left:0;top:-.25rem;color:var(--fa-primary);opacity:.35;font-size:1.8rem;line-height:1}

/* About media polish */
.theme-physiocare .about-block .about-media img{box-shadow:0 18px 36px rgba(2,8,23,.06)}

/* Testimonials */
.theme-physiocare .testimonial .quote{color: var(--fa-text); font-weight: 600}
.theme-physiocare .testimonial .author{color: var(--fa-muted)}
.theme-physiocare .google-badge{border-color:#dbe7e2}
.theme-physiocare .review-avatar{border-color:#dbe7e2}
/* Testimonials (cards layout) */
.theme-physiocare .testimonials-grid{list-style:none;margin:0;padding-left:0}
.theme-physiocare .testimonial-card{position:relative;overflow:hidden}
.theme-physiocare .testimonial-card::after{
  content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:4px;opacity:.9;
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  border-bottom-left-radius: 999px; border-bottom-right-radius: 999px;
  transform: scaleX(.94); transform-origin:center; transition: transform .25s ease, opacity .25s ease;
}
.theme-physiocare .testimonial-card:hover::after{transform:scaleX(1);opacity:1}
.theme-physiocare .testimonial-card .stars i{color:#f59e0b}

/* Services */
.theme-physiocare .service-card .meta{color:#0f766e;font-weight:700}
.theme-physiocare .service-card h5{font-weight:700}

/* Team (cards layout) */
.theme-physiocare .team-grid{list-style:none;margin:0;padding-left:0}
.theme-physiocare .team-card{position:relative;overflow:hidden}
.theme-physiocare .team-card::after{
  content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:4px;opacity:.9;
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  border-bottom-left-radius: 999px; border-bottom-right-radius: 999px;
  transform: scaleX(.94); transform-origin:center; transition: transform .25s ease, opacity .25s ease;
}
.theme-physiocare .team-card:hover::after{transform:scaleX(1);opacity:1}
.theme-physiocare .team-icon{width:48px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--hero-primary-tint), var(--hero-secondary-tint));color:#0b4a6f;border:1px solid #e1eee8;box-shadow:0 6px 16px rgba(45,122,106,.12) inset, 0 6px 16px rgba(45,122,106,.12);transition:transform .2s ease}
.theme-physiocare .team-card:hover .team-icon{transform:translateY(-2px) scale(1.03)}
.theme-physiocare .team-role{color:var(--fa-primary);font-weight:700}
.theme-physiocare .team-socials .btn{width:34px;height:34px;padding:0}

/* Team photos */
.theme-physiocare .team-photo{width:144px;height:144px;border-radius:999px;object-fit:cover;object-position:top center;display:block;margin-bottom:12px}
@media (max-width: 575.98px){
  .theme-physiocare .team-photo{width:120px;height:120px}
}

/* Process */
.theme-physiocare .process-step .step-badge{
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  color: #fff;
}

/* CTA block (inline styled element) – force brand look */
.theme-physiocare .section .container > .p-4.p-md-5.text-center.rounded{
  background: linear-gradient(90deg, var(--hero-primary-tint), var(--hero-secondary-tint)) !important;
  border: 1px solid #dbe7e2 !important;
  box-shadow: 0 10px 24px rgba(2,8,23,.04);
}
.theme-physiocare .section .container > .p-4.p-md-5.text-center.rounded h2{font-weight:800}

/* Offer banner tweaks */
.theme-physiocare .offer-banner{border-color:#dbe7e2}
.theme-physiocare .offer-banner .btn-light{
  background:#fff;
  border:1px solid #dbe7e2;
  border-radius:999px;
  padding:.75rem 1.15rem;
}
.theme-physiocare .offer-banner .btn-light:hover{filter:brightness(.98)}

/* Focus states for accessibility */
.theme-physiocare .btn-primary-fisio:focus-visible,
.theme-physiocare .btn-soft-fisio:focus-visible,
.theme-physiocare .btn-outline-fisio:focus-visible,
.theme-physiocare .offer-banner .btn-light:focus-visible{
  outline: 2px solid var(--fa-primary);
  outline-offset: 2px;
  box-shadow: 0 0 0 .2rem rgba(45,122,106,.2);
}

/* CTA banner (hero-like) */
.theme-physiocare .cta-banner{
  /* legacy styles removed; brand-green gradient defined below */
  color:#fff;
}
.theme-physiocare .cta-banner{ 
  background:
    radial-gradient(900px 420px at -10% -10%, rgba(156,207,191,.65), transparent 60%),
    radial-gradient(900px 500px at 110% 0%, rgba(45,122,106,.55), transparent 60%),
    linear-gradient(180deg, #2d7a6a, #389c87);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 40px rgba(2,8,23,.12);
}
.theme-physiocare .cta-banner h2{color:#fff}
.theme-physiocare .cta-banner .section-sub{color:#fff !important}
/* Higher specificity to beat landing inline overrides with !important */
.theme-physiocare .section .cta-banner .section-sub.section-sub{color:#fff !important}
/* ID-targeted rule wins specificity even against later inline blocks */
.theme-physiocare #cta-subtitle{color:#fff !important}
/* dark overlay above background (improves readability) */
.theme-physiocare .cta-banner::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background: linear-gradient(135deg, rgba(var(--fisio-primary-rgb,45,122,106), .10), rgba(var(--fisio-primary-rgb,45,122,106), .08));
}
/* keep textual content above overlay (except decorative layer) */
.theme-physiocare .cta-banner > *:not(.floating-elements){position:relative;z-index:2}

/* FAQ accordion inside CTA banner */
.theme-physiocare .cta-banner .faq-accordion{color:#fff}
.theme-physiocare .cta-banner .faq-accordion #faq-title{color:#fff;margin-bottom:.75rem}
.theme-physiocare .cta-banner .faq-item{border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(15,63,54,.85);overflow:hidden}
.theme-physiocare .cta-banner .faq-item + .faq-item{margin-top:.5rem}
.theme-physiocare .cta-banner .faq-question{cursor:pointer;list-style:none;padding:.75rem 1rem;position:relative;font-weight:700;color:#fff}
.theme-physiocare .cta-banner .faq-question::-webkit-details-marker{display:none}
.theme-physiocare .cta-banner .faq-question::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:1rem;top:50%;transform:translateY(-50%) rotate(0deg);transition:transform .2s ease;opacity:.9}
.theme-physiocare .cta-banner details[open] > .faq-question::after{transform:translateY(-50%) rotate(180deg)}
.theme-physiocare .cta-banner .faq-answer{padding:0 1rem 1rem;color:#fff}
.theme-physiocare .cta-banner .faq-item:focus-within{outline:2px solid rgba(255,255,255,.55);outline-offset:2px}

/* Floating circles decoration (behind overlay) */
.theme-physiocare .cta-banner .floating-elements{position:absolute;inset:0;z-index:1;pointer-events:none}
.theme-physiocare .cta-banner .floating-circle{position:absolute;border-radius:999px;opacity:.35;filter:blur(.4px);
  /* Brand-tinted glow (green) */
  background: radial-gradient(circle at 35% 35%, rgba(156,207,191,.8) 0%, rgba(45,122,106,.45) 40%, rgba(255,255,255,0) 62%);
  mix-blend-mode: screen;
  animation: floatY 9s ease-in-out infinite;
}
.theme-physiocare .cta-banner .floating-circle.small{width:160px;height:160px}
.theme-physiocare .cta-banner .floating-circle.medium{width:240px;height:240px}
.theme-physiocare .cta-banner .floating-circle.large{width:360px;height:360px}
.theme-physiocare .cta-banner .circle1{left:-40px;bottom:-20px;animation-duration:10s}
.theme-physiocare .cta-banner .circle2{right:8%;top:12%;animation-duration:12s}
.theme-physiocare .cta-banner .circle3{right:-80px;bottom:-80px;animation-duration:11s}
.theme-physiocare .cta-banner .circle4{left:18%;top:18%;animation-duration:13s}
.theme-physiocare .cta-banner .circle5{right:30%;bottom:12%;animation-duration:14s}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Ensure at least one circle is clearly visible on small screens */
@media (max-width: 575.98px){
  .theme-physiocare .cta-banner .circle1{left:50%; bottom:-40px; transform:translateX(-50%)}
  .theme-physiocare .cta-banner .circle2{right:10%; top:10%}
  .theme-physiocare .cta-banner .circle3{display:none}
}

/* CTA hero buttons */
.theme-physiocare .cta-banner .cta-contact-notes{color:rgba(255,255,255,.92);font-weight:600}
.theme-physiocare .cta-banner .cta-contact-notes li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin:.4rem 0}
.theme-physiocare .cta-banner .cta-contact-notes i{opacity:1;color:#fff !important}
.theme-physiocare .btn-hero-solid{
  background:#fff; color: var(--fa-primary);
  border:1px solid #fff; border-radius:12px; font-weight:700; padding:.8rem 1.2rem;
  box-shadow: 0 8px 22px rgba(2,8,23,.18);
}
.theme-physiocare .btn-hero-solid:hover{filter:brightness(.98); transform: translateY(-1px)}
.theme-physiocare .btn-hero-outline{
  background:transparent; color:#fff; border:1.5px solid #fff; border-radius:12px; font-weight:700; padding:.8rem 1.2rem;
}
.theme-physiocare .btn-hero-outline:hover{background:rgba(255,255,255,.08)}
/* Small size variants for hero buttons */
.theme-physiocare .btn-hero-solid.btn-sm{padding:.5rem .9rem; font-size:.95rem}
.theme-physiocare .btn-hero-outline.btn-sm{padding:.5rem .9rem; font-size:.95rem}

/* CTA notes list with inline buttons */
.theme-physiocare .cta-banner .cta-contact-notes{color:rgba(255,255,255,.92);font-weight:600}
.theme-physiocare .cta-banner .cta-contact-notes li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.theme-physiocare .cta-banner .cta-contact-notes .note-text{display:inline-flex;align-items:center;gap:.5rem;flex:1 1 260px;min-width:0}
.theme-physiocare .cta-banner .cta-contact-notes .note-actions{flex:0 0 auto}

/* Focus states for CTA hero buttons */
.theme-physiocare .btn-hero-solid:focus-visible,
.theme-physiocare .btn-hero-outline:focus-visible{
  outline: 2px solid #fff; outline-offset: 2px;
  box-shadow: 0 0 0 .2rem rgba(255,255,255,.35);
}

/* Info/Contact form */
.theme-physiocare .form-control{
  border-color:#dbe7e2;
  border-radius:12px;
}
.theme-physiocare .form-control:focus{
  border-color: var(--fa-primary);
  box-shadow: 0 0 0 .2rem rgba(45,122,106,.15);
}
.theme-physiocare textarea.form-control{min-height:110px}
.theme-physiocare .ratio.rounded{border:1px solid #dbe7e2 !important}

/* Lists with icons */
.theme-physiocare .list-unstyled li i{color: var(--fa-primary)}

/* Anchor offsets for in-page navigation */
.theme-physiocare [id]{scroll-margin-top: 88px}

/* Responsive refinements */
@media (max-width: 575.98px){
  .theme-physiocare .section .section-title::after{width:38px}
}

/* --- Additional scoped overrides to better match landing visuals --- */
/* Smooth scrolling within demo */
.theme-physiocare{scroll-behavior:smooth}

/* Headings: allow inlined .accent spans to inherit gradient */
.theme-physiocare .section .section-title .accent{
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Badges: unified pill look */
.theme-physiocare .badge{
  border:1px solid rgba(var(--fisio-primary-rgb), .16);
  border-radius:999px;
  background: rgba(var(--fisio-primary-rgb), .06);
  color:var(--fa-primary);
  font-weight:700;
}

/* Cards: stronger radii and shadows for modern feel */
.theme-physiocare .stat-card,
.theme-physiocare .feature-card,
.theme-physiocare .specialty-card,
.theme-physiocare .service-card,
.theme-physiocare .testimonial,
.theme-physiocare .team-card,
.theme-physiocare .process-step{border-radius:16px; box-shadow:0 10px 24px rgba(2,8,23,.06)}
.theme-physiocare .feature-card .feature-icon,
.theme-physiocare .specialty-icon,
.theme-physiocare .service-card .icon{box-shadow:0 6px 16px rgba(45,122,106,.12)}

/* Team: avatar subtle ring */
.theme-physiocare .team-avatar{box-shadow:0 0 0 3px rgba(45,122,106,.08), 0 8px 20px rgba(2,8,23,.06)}
.theme-physiocare .team-avatar-fallback{box-shadow:0 0 0 3px rgba(45,122,106,.08), 0 8px 20px rgba(2,8,23,.06)}

/* Services: emphasize price meta */
.theme-physiocare .service-card .meta{font-size:1.05rem}

/* Stats: ensure gradient numeric text */
.theme-physiocare .stat-value{
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Offer banner: minty wash background */
.theme-physiocare .offer-banner{
  background: linear-gradient(90deg, rgba(45,122,106,.08), rgba(156,207,191,.16));
  backdrop-filter: blur(6px);
  border: var(--surface-border);
  box-shadow: var(--surface-shadow);
}
.theme-physiocare .offer-banner .badge{background:#fff}

/* Testimonials: slightly deeper hover */
.theme-physiocare .testimonial:hover{box-shadow:0 14px 28px rgba(2,8,23,.10)}

/* CTA block heading weight (ensure boldness) */
.theme-physiocare .section .container > .p-4.p-md-5.text-center.rounded h2{font-weight:800; letter-spacing:-.015em}

/* Buttons: modern gradient + elevation */
.theme-physiocare .btn-fisio{
  background-image: linear-gradient(135deg, var(--fisio-primary) 0%, var(--fisio-secondary) 100%);
  border: none;
  border-radius: 999px;
  color: #fff;
  box-shadow: 0 10px 26px rgba(var(--fisio-primary-rgb,45,122,106), .25);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.theme-physiocare .btn-fisio:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(var(--fisio-primary-rgb), .3);
  filter: brightness(.98);
}
.theme-physiocare .btn-outline-fisio{
  border: 2px solid transparent;
  border-radius: 999px;
  color: var(--fa-primary);
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--fisio-primary), var(--fisio-secondary)) border-box;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, filter .18s ease;
}
.theme-physiocare .btn-outline-fisio:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(var(--fisio-primary-rgb,45,122,106), .18);
  background:
    linear-gradient(135deg, rgba(var(--fisio-primary-rgb,45,122,106), .06), rgba(var(--fisio-secondary-rgb,156,207,191), .1)) padding-box,
    linear-gradient(135deg, var(--fisio-primary), var(--fisio-secondary)) border-box;
}

/* --- Specialties section polish --- */
.theme-physiocare #especialidades.specialties-section{position:relative}
.theme-physiocare #especialidades.specialties-section::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.65;
  background:
    radial-gradient(900px 420px at -10% 10%, var(--hero-secondary-tint), transparent 60%),
    radial-gradient(900px 420px at 110% 0%, var(--hero-primary-tint), transparent 60%);
  z-index:0;
}
.theme-physiocare #especialidades.specialties-section > .container{position:relative;z-index:1}
.theme-physiocare .specialties-grid{list-style:none;margin:0;padding-left:0}
.theme-physiocare .specialty-card .h5{letter-spacing:-.01em;font-weight:700}
.theme-physiocare .specialty-card{position:relative;overflow:hidden}
.theme-physiocare .specialty-card:hover{border-color: rgba(var(--fisio-primary-rgb,45,122,106), .25)}
/* Bottom gradient accent, like the reference */
.theme-physiocare .specialty-card::after{
  content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:4px;opacity:.9;
  background: linear-gradient(90deg, var(--fa-primary), var(--fa-secondary));
  border-bottom-left-radius: 999px; border-bottom-right-radius: 999px;
  transform: scaleX(.94); transform-origin:center; transition: transform .25s ease, opacity .25s ease;
}
.theme-physiocare .specialty-card:hover::after{transform:scaleX(1);opacity:1}
/* Icon chip: circular with gentle ring */
.theme-physiocare .specialty-icon{width:48px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  background: linear-gradient(135deg, var(--hero-primary-tint), var(--hero-secondary-tint));
  color:#0b4a6f;border:1px solid #e1eee8;box-shadow:0 6px 16px rgba(45,122,106,.12) inset, 0 6px 16px rgba(45,122,106,.12)}
/* Ensure consistent card height when CTA present */
.theme-physiocare .specialty-card{min-height:184px}

.theme-physiocare .gallery-marquee{position:relative;overflow:hidden;background:transparent}
/* full-bleed wrapper so the gallery ocuppies full viewport width */
.theme-physiocare .gallery-marquee .bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.theme-physiocare .gallery-marquee .marquee-row{display:flex;gap:0;overflow:hidden}
.theme-physiocare .gallery-marquee .marquee__group{display:flex;gap:20px;align-items:center;min-width:100%;flex-shrink:0;padding:0 40px;animation: marqueeX var(--duration, 30s) linear infinite}
.theme-physiocare .gallery-marquee .reverse .marquee__group{animation-direction: reverse}
/* Do NOT pause on hover */
.theme-physiocare .gallery-marquee:hover .marquee__group{animation-play-state: running}

/* Add seam spacing so the end/start of the loop has breathing room */
.theme-physiocare .gallery-marquee{ --seam-gap: 60px }
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:last-child{ margin-right: var(--seam-gap) }

@media (max-width: 575.98px){
  .theme-physiocare .gallery-marquee{ --seam-gap: 20px }
}

@keyframes marqueeX{from{transform:translateX(0)}to{transform:translateX(-100%)}}

.theme-physiocare .gallery-marquee .gallery-card{flex:0 0 auto;border-radius:18px;overflow:hidden;box-shadow:none;border:0;background:transparent;position:relative}
/* Single row with varied heights; width auto to respect image aspect ratio */
.theme-physiocare .gallery-marquee .gallery-card img{display:block;height:clamp(180px,20vw,320px);width:auto;object-fit:cover;border-radius:inherit;will-change:transform}
/* Vary heights with a repeating pattern */
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+1) img{height:clamp(220px,24vw,360px)}
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+2) img{height:clamp(200px,22vw,320px)}
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+3) img{height:clamp(260px,27vw,380px)}
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+4) img{height:clamp(190px,21vw,300px)}
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+5) img{height:clamp(240px,25vw,340px)}
.theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+6) img{height:clamp(160px,19vw,280px)}

/* Modern shine reflection on hover */
.theme-physiocare .gallery-marquee .gallery-card::after{
  content:""; position:absolute; top:0; left:0; height:100%; width:40%;
  transform: translateX(-150%) skewX(-20deg); pointer-events:none; opacity:0;
  background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.7) 50%, rgba(255,255,255,0) 100%);
  will-change: transform, opacity;
}
.theme-physiocare .gallery-marquee .gallery-card:hover::after{ animation: shine 1s ease forwards }

@keyframes shine{
  0%{ transform: translateX(-150%) skewX(-20deg); opacity: 0 }
  25%{ opacity:.25 }
  50%{ opacity:.45 }
  100%{ transform: translateX(180%) skewX(-20deg); opacity: 0 }
}
/* Speed utilities (controls --duration var) */
.theme-physiocare .gallery-marquee .speed-24{--duration:24s}
.theme-physiocare .gallery-marquee .speed-28{--duration:28s}
.theme-physiocare .gallery-marquee .speed-34{--duration:34s}
.theme-physiocare .gallery-marquee .speed-40{--duration:40s}

@media (max-width: 575.98px){
  .theme-physiocare .gallery-marquee .marquee__group{gap:14px}
  .theme-physiocare .gallery-marquee .marquee__group{padding:0 20px}
  .theme-physiocare .gallery-marquee .gallery-card img{height:clamp(140px,46vw,220px)}
  .theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+1) img{height:clamp(160px,52vw,240px)}
  .theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+2) img{height:clamp(150px,50vw,230px)}
  .theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+3) img{height:clamp(180px,58vw,260px)}
  .theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+4) img{height:clamp(145px,48vw,220px)}
  .theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+5) img{height:clamp(170px,54vw,250px)}
  .theme-physiocare .gallery-marquee .marquee__group > .gallery-card:nth-child(6n+6) img{height:clamp(130px,44vw,200px)}
}

/* --- Demo sticky side banner + reopen handle --- */
.theme-physiocare .demo-banner{position:fixed;right:18px;top:22%;z-index:1030;width:min(320px,88vw);border:1px solid #dbe7e2;border-radius:16px;background:var(--surface-bg, #fff);box-shadow:var(--surface-shadow,0 14px 40px rgba(2,8,23,.08));backdrop-filter:blur(8px);padding:16px;opacity:0;transform:translateX(calc(100% + 24px));pointer-events:none;transition:opacity .25s ease, transform .25s ease}
.theme-physiocare .demo-banner.show{opacity:1;transform:translateX(0);pointer-events:auto}
.theme-physiocare .demo-banner .title{font-weight:800;letter-spacing:-.01em}

/* Visible circular close button with X icon */
.theme-physiocare .demo-banner .banner-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:999px;border:1px solid #dbe7e2;background:#fff;color:#0b4a6f;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 14px rgba(2,8,23,.08);transition:filter .18s ease, transform .18s ease}
.theme-physiocare .demo-banner .banner-close i{font-size:14px;line-height:1}
.theme-physiocare .demo-banner .banner-close:hover{filter:brightness(.98);transform:translateY(-1px)}
.theme-physiocare .demo-banner .banner-close:focus-visible{outline:2px solid var(--fa-primary);outline-offset:2px}

/* Floating reopen handle */
.theme-physiocare #demoBannerHandle[hidden]{display:none !important}
.theme-physiocare #demoBannerHandle{position:fixed;right:18px;top:22%;z-index:1029;width:44px;height:44px;border-radius:999px;border:1px solid #dbe7e2;background:linear-gradient(135deg, var(--fa-primary), var(--fa-secondary));color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(2,8,23,.14);cursor:pointer;transition:filter .18s ease, transform .18s ease}
.theme-physiocare #demoBannerHandle:hover{filter:brightness(.98);transform:translateY(-1px)}
.theme-physiocare #demoBannerHandle:focus-visible{outline:2px solid var(--fa-primary);outline-offset:2px}
