/* THERATEX testimonial carousel. Every rule is namespaced to avoid altering the theme. */
/* Native anchor fallback protects against delayed/blocked JavaScript on hosted sites. */
.tpa-modal[hidden]:not(:target){display:none!important}
#theratex-temoignages-modal:target[hidden]{display:flex!important}
#theratex-temoignages-modal:target:not(.tpa-enhanced) .tpa-card:first-child{z-index:6;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);box-shadow:0 28px 68px rgba(4,25,68,.36)}
#theratex-temoignages-modal:target:not(.tpa-enhanced) .tpa-card:first-child .tpa-order[href]{pointer-events:auto}

body.tpa-modal-open{overflow:hidden!important}
.tpa-modal,.tpa-modal *{box-sizing:border-box}
.tpa-modal{--tpa-navy:#063b75;--tpa-blue:#0962bd;--tpa-gold:#f5bc2e;--tpa-ink:#10345f;position:fixed!important;inset:0!important;z-index:999999!important;display:flex;align-items:center;justify-content:center;padding:14px 10px;background:rgba(4,26,58,.66);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);font-family:Arial,Helvetica,sans-serif;color:var(--tpa-ink);overflow:auto}
.tpa-frame{position:relative;display:flex;flex-direction:column;width:min(100%,1500px);height:min(93dvh,820px);min-height:0;isolation:isolate}
.tpa-close{appearance:none;position:absolute;right:18px;top:6px;z-index:15;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #e8eff7;background:#fff;color:#0b2145;cursor:pointer;box-shadow:0 5px 20px #0529542e;transition:transform .18s ease,background .18s ease}
.tpa-close svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.tpa-close:hover{background:#edf6ff;transform:rotate(8deg)}
.tpa-close:focus-visible,.tpa-order:focus-visible,.tpa-arrow:focus-visible,.tpa-dot:focus-visible,.tpa-shortcode-button:focus-visible{outline:3px solid var(--tpa-gold);outline-offset:3px}
.tpa-carousel{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.tpa-track{position:absolute;inset:0;overflow:hidden;isolation:isolate;perspective:1300px}
.tpa-card{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:stretch;text-align:center;width:min(428px,34vw);height:min(70dvh,620px);min-height:0;padding:clamp(14px,2.2vw,26px);border:1px solid #f0f4fa;border-radius:29px;background:linear-gradient(165deg,#ffffff 0%,#fff 73%,#f6faff 100%);box-shadow:0 14px 52px rgba(2,22,49,.21);opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transform:translate(-50%,-50%) scale(.7);transition:transform .46s cubic-bezier(.22,.85,.2,1),opacity .35s ease,visibility .35s ease,box-shadow .35s ease;will-change:transform}
.tpa-card[data-tpa-slot="center"]{z-index:6;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);box-shadow:0 28px 68px rgba(4,25,68,.36)}
.tpa-card[data-tpa-slot="prev"]{z-index:4;opacity:1;visibility:visible;pointer-events:auto;transform:translate(calc(-50% - clamp(230px,23vw,342px)),-50%) scale(.88);filter:saturate(.92)}
.tpa-card[data-tpa-slot="next"]{z-index:4;opacity:1;visibility:visible;pointer-events:auto;transform:translate(calc(-50% + clamp(230px,23vw,342px)),-50%) scale(.88);filter:saturate(.92)}
.tpa-card[data-tpa-slot="far-prev"]{z-index:2;opacity:.95;visibility:visible;pointer-events:auto;transform:translate(calc(-50% - clamp(410px,42vw,614px)),-50%) scale(.77);filter:saturate(.82)}
.tpa-card[data-tpa-slot="far-next"]{z-index:2;opacity:.95;visibility:visible;pointer-events:auto;transform:translate(calc(-50% + clamp(410px,42vw,614px)),-50%) scale(.77);filter:saturate(.82)}
.tpa-person{flex:none;font-family:Arial,Helvetica,sans-serif!important;color:#093c7a!important;font-size:clamp(21px,2.2vw,29px)!important;font-weight:800!important;line-height:1.15!important;margin:1px 0 15px!important;overflow-wrap:anywhere}
.tpa-quote{flex:0 1 auto;display:block;color:#0c2142!important;text-align:center!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(14px,1.36vw,17px)!important;line-height:1.5!important;font-weight:400!important;min-height:72px;max-height:155px;padding:0 5px 3px!important;margin:0 0 16px!important;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;quotes:none;overflow-wrap:break-word}
.tpa-quote:before,.tpa-quote:after{content:none!important}
.tpa-product-photo{flex:1 1 170px;width:100%;min-height:0;display:flex;overflow:hidden;border-radius:20px;background:#eef4fa}
.tpa-product-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.tpa-photo-placeholder{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;width:100%;height:100%;color:#47749b;font-size:14px;background:linear-gradient(130deg,#e6f2fa,#f5f8fd)}
.tpa-photo-placeholder svg{width:48px;height:48px;fill:none;stroke:#79a8cf;stroke-width:1.5}
.tpa-order{flex:none;display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,360px);min-height:49px;margin:16px auto 0;padding:9px 18px;border:2px solid var(--tpa-gold);border-radius:100px;background:linear-gradient(120deg,#0066c3,#073a83);color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(16px,1.6vw,20px)!important;font-weight:800!important;text-decoration:none!important;line-height:1.1!important;box-shadow:0 3px 10px #0b4c8c2f;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.tpa-order svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tpa-order:not(.tpa-order--disabled):hover{transform:translateY(-2px);background:#06417e;box-shadow:0 7px 18px #0b4c8c50;color:#fff!important}
.tpa-order--disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.6)}
.tpa-arrow{appearance:none;display:grid;place-items:center;position:absolute;z-index:10;top:50%;transform:translateY(-50%);width:56px;height:56px;border:1px solid #eaf2fd;border-radius:100%;background:#fff;color:#0b4585;cursor:pointer;box-shadow:0 7px 22px #041b3a29;transition:background .2s ease,transform .2s ease}
.tpa-arrow svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tpa-arrow--prev{left:6px}.tpa-arrow--next{right:6px}
.tpa-arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.07);background:#e8f4ff}
.tpa-arrow:disabled{opacity:.4;cursor:default}
.tpa-pagination{flex:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;min-height:34px;padding-top:4px}
.tpa-dot{appearance:none;display:inline-block;width:12px;height:12px;border:0;border-radius:50%;padding:0;background:#c7d9ed;cursor:pointer;transition:background .2s,transform .2s}
.tpa-dot[aria-current="true"]{background:#1187ef;transform:scale(1.26)}
.tpa-dot:hover{background:#68bbff}
.tpa-screen-reader{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.tpa-empty{flex:1;display:grid;place-items:center;color:#173d69;text-align:center}
.tpa-empty p{background:#fff;padding:30px;border-radius:16px;box-shadow:0 15px 30px #03163120;font-size:18px}
.tpa-shortcode-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 22px;border:2px solid #f5bc2e;border-radius:99px;background:#0b4d8f;color:#fff;font-weight:700;cursor:pointer}
.tpa-shortcode-button:hover{background:#063b75;color:#fff}
@media (max-width:1100px){
  .tpa-card{width:min(400px,39vw);height:min(69dvh,590px)}
  .tpa-card[data-tpa-slot="far-prev"],.tpa-card[data-tpa-slot="far-next"]{opacity:0;visibility:hidden;pointer-events:none}
  .tpa-card[data-tpa-slot="prev"]{transform:translate(calc(-50% - clamp(205px,24vw,270px)),-50%) scale(.88)}
  .tpa-card[data-tpa-slot="next"]{transform:translate(calc(-50% + clamp(205px,24vw,270px)),-50%) scale(.88)}
  .tpa-person{font-size:23px!important}
}
@media (max-width:700px){
  .tpa-modal{padding:8px 3px}
  .tpa-frame{height:min(96dvh,750px);width:100%}
  .tpa-close{top:4px;right:7px;width:39px;height:39px}
  .tpa-close svg{width:19px;height:19px}
  .tpa-card{width:min(420px,calc(100vw - 48px));height:min(72dvh,590px);padding:18px 16px;border-radius:23px}
  .tpa-card[data-tpa-slot="prev"],.tpa-card[data-tpa-slot="next"],.tpa-card[data-tpa-slot="far-prev"],.tpa-card[data-tpa-slot="far-next"]{opacity:0;visibility:hidden;pointer-events:none}
  .tpa-person{font-size:23px!important;margin:1px 0 10px!important}
  .tpa-quote{font-size:14px!important;min-height:70px;max-height:140px;margin-bottom:12px!important}
  .tpa-product-photo{border-radius:15px;flex-basis:130px}
  .tpa-order{min-height:44px;margin-top:12px;font-size:17px!important}
  .tpa-arrow{width:35px;height:42px;box-shadow:0 4px 14px #072d5344}
  .tpa-arrow--prev{left:0}.tpa-arrow--next{right:0}
  .tpa-arrow svg{width:18px;height:18px}
  .tpa-pagination{min-height:28px;gap:8px;padding-top:0}
  .tpa-dot{width:9px;height:9px}
}
@media (max-height:610px){
  .tpa-card{height:min(71dvh,500px)}.tpa-person{margin-bottom:5px!important}
  .tpa-quote{max-height:95px;min-height:45px;margin-bottom:7px!important}
  .tpa-order{margin-top:8px;min-height:40px}
}
@media (prefers-reduced-motion:reduce){.tpa-modal *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
