/*! Prisma Tools front-end CSS v1.0.70 - contract: assets/MARKUP.md
   Mobile first; desktop overrides at min-width:768px (Elementor's mobile breakpoint).
   Values copied from mockups/homepage-v1, slider-4-directions (S1), terapeuta-trio, precos-fundo. */
:root{--pt-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");--pt-peach:#F2B399;--pt-green:#25D366;--pt-soft:#d7cfca;--pt-muted:#a79c96;--pt-line:#1c1c1c;--ptf:Roboto,"Helvetica Neue",Arial,sans-serif}

/* Elementor wrappers: headings/text widgets inside a pt- element inherit the pt- typography */
body :is(.pt-card__name,.pt-card__loc,.pt-h,.pt-tname,.pt-sec-h,.pt-clinic__title,.pt-qa__q,.pt-qa__a,.pt-pcard__title,.pt-foot__h,.pt-kick,.pt-tier__du,.pt-tier__pr,.pt-from__lbl,.pt-from__big,.pt-pill,.pt-hint,.pt-pcard__big,.pt-xchip__n,.pt-xchip__p,.pt-xchip__d,.pt-pcard__d,.pt-intro,.pt-note,.pt-lead) :is(.elementor-heading-title,.elementor-widget-container,h1,h2,h3,h4,p){font:inherit;color:inherit;margin:0;text-transform:inherit;letter-spacing:inherit;text-align:inherit}
[class^="pt-"],[class*=" pt-"]{box-sizing:border-box}
[class^="pt-"] svg,[class*=" pt-"] svg{flex:none}
/* Elementor containers carrying a pt- class start with no padding or gap; the pt- rules set them */
.e-con:is([class^="pt-"],[class*=" pt-"]){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--row-gap:0px;--column-gap:0px;--gap:0px}
/* Elementor Flexbox containers: .e-con-full.e-flex sets flex-direction from a (0,2,0) variable; row containers need it here */
.e-con.e-flex:is(.pt-chips,.pt-chips__locs,.pt-chips__langs,.pt-card__langs,.pt-clinic__acts,.pt-foot__social,.pt-foot__legal,.pt-attrs,.pt-pills,.pt-xchips,.pt-from,.pt-today,.pt-tname,.pt-acts,.pt-fabs,.pt-crumb,.pt-slider__track,.pt-shorts){--flex-direction:row}
.pt-pinned:not(.pt-btn):before{margin-right:4px}
.pt-pin{width:1em;height:1em;fill:currentColor;flex:none}
/* pin drawn by CSS (no SVG needed in the markup) */
.pt-card__loc:before,.pt-today__where:before,.pt-chip[data-local]:not([data-local=""]):before,.pt-pinned:before{content:"";display:inline-block;vertical-align:-.125em;width:1em;height:1em;flex:none;background:currentColor;-webkit-mask:var(--pt-pin) center/contain no-repeat;mask:var(--pt-pin) center/contain no-repeat}
.pt-wa{width:18px;height:18px;fill:currentColor}
.pt-ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ===== page blocks ===== */
.pt-section{padding:18px 12px;max-width:1280px;margin-inline:auto;box-sizing:border-box;font-family:var(--ptf)}
.pt-section--edge{padding-inline:1px}
.pt-section--flush{padding-inline:0}
.pt-section--grid{padding-top:6px}
/* Page-title section (e.g. Preços): no extra space above the title or below its intro. */
.pt-section:has(>.elementor-widget.pt-h):not(.elementor-location-footer>*){padding-top:0;padding-bottom:0}
/* Footer blocks (therapist slider, clinics, CTA): one even gap above each (14px phone, 20px above), none below;
   the page's last block gives none either, so page -> footer gets the same gap. */
.elementor-location-footer>.pt-section{padding-top:14px;padding-bottom:0}
/* The last block before the footer line (green CTA) gets the same gap below it. */
.elementor-location-footer>.pt-section:has(+.pt-foot){padding-bottom:14px}
.elementor:not(.elementor-location-footer,.elementor-location-header)>.pt-section:last-child{padding-bottom:0}
.pt-h{color:var(--pt-peach);font:600 24px/1.1 var(--ptf);text-transform:uppercase;text-align:center;margin:0 0 14px;text-wrap:balance}
.pt-pagehead{padding:0 12px;text-align:center;max-width:1280px;margin-inline:auto;box-sizing:border-box}
/* Page H1 always on one line: the longest title ("Massoterapeuta na Barra da Tijuca") is ~19.4em wide in Roboto 600 caps */
.pt-pagehead .pt-h{font-size:min(30px,calc((100vw - 32px) / 19.6));white-space:nowrap;margin:0;padding:0 8px}
.pt-intro{color:var(--pt-soft);font:400 12.5px/1.4 var(--ptf);text-align:center;max-width:64ch;margin:0 auto 4px}
.pt-intro p{margin:0}
.pt-pagehead .pt-intro{font-size:clamp(11.5px,3.15vw,16px);line-height:1.35;margin:6px auto 0;text-wrap:pretty}
.pt-lead{text-align:center;color:var(--pt-soft);font:400 15px/1.45 var(--ptf);max-width:70ch;margin:-4px auto 18px}
.pt-note{color:var(--pt-muted);font:400 13px/1.5 var(--ptf);max-width:78ch;margin:22px auto 0}
.pt-note p{margin:0 0 8px}
.pt-center{text-align:center}
a.pt-cta,.pt-cta a.elementor-button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(#99f2b3,#12682b);color:#fff;font:600 16px/1.2 var(--ptf);text-transform:uppercase;padding:11px 22px;border-radius:22px;white-space:nowrap;text-decoration:none;border:0}
.pt-cta svg{width:20px;height:20px;fill:currentColor}
body :is(a,button).pt-btn,.pt-btn a.elementor-button{display:inline-flex;align-items:center;gap:6px;font:600 13px/1.2 var(--ptf);padding:9px 13px;border-radius:8px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.3);text-decoration:none;white-space:nowrap;cursor:pointer}
body :is(a,button).pt-btn--g,.pt-btn--g a.elementor-button{background:var(--pt-green);color:#062b12;border-color:transparent}
body :is(a,button).pt-btn--p,.pt-btn--p a.elementor-button{border-color:rgba(242,179,153,.6);color:var(--pt-peach);background:transparent}
body :is(a,button).pt-btn--big,.pt-btn--big a.elementor-button{font-size:15px;padding:13px 20px;border-radius:10px;justify-content:center}
.pt-btn svg{width:18px;height:18px;fill:currentColor}

/* ===== filter chips ===== */
.pt-chips{position:sticky;top:0;z-index:5;background:rgba(0,0,0,.94);padding:7px 0;border-bottom:1px solid var(--pt-line);display:flex;flex-flow:row wrap;gap:6px;align-items:center;font-family:var(--ptf)}
.pt-chips .pt-chips__locs,.pt-chips .pt-chips__langs{display:flex;flex-flow:row nowrap;gap:6px;align-items:center;width:auto}
.pt-chips .pt-chips__locs{width:100%}
.pt-chips__sep{display:none;width:1px;height:22px;background:#333}
.pt-chips .pt-chip::after{content:"";position:absolute;inset:-3px} /* invisible tap area to the middle of the 6px gaps (29px -> 35px), never over a neighbouring chip; no visual change */
.pt-chips .pt-chip{position:relative;display:inline-flex;align-items:center;gap:4px;margin:0;border:1px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.06);font:600 12.5px/normal var(--ptf);padding:6px 8px;border-radius:999px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-decoration:none;-webkit-appearance:none;appearance:none}
.pt-chips .pt-chip:is([aria-pressed="true"],[aria-current="page"],[aria-current="true"],.is-on){background:var(--pt-peach);color:#000;border-color:var(--pt-peach)}
/* Hello theme paints focused/hovered buttons pink (#c36); a tapped chip keeps focus, so a chip turned off stayed pink. Off = default look. */
.pt-chips .pt-chip:is(:hover,:focus):not([aria-pressed="true"],[aria-current],.is-on){background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
.pt-chip:focus-visible,.pt-slider__btn:focus-visible,.pt-short:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pt-chips .pt-chip[data-local]:before,.pt-chip__full{display:none}
.pt-chip__n{opacity:.7;font-weight:500}
/* Phones and tablets (owner 2026-09-29): chips sit on the right, nearer the thumb; desktop keeps them on the left. */
@media (max-width:1023px){.pt-chips,.pt-chips .pt-chips__locs,.pt-chips .pt-chips__langs{justify-content:flex-end;--justify-content:flex-end}.pt-chips .pt-chips__sep{display:none}} /* tablets: the divider was left dangling at the end of the first row when the chips wrap */

/* ===== therapist card (A4) ===== */
.pt-card,.e-con.pt-card{position:relative;isolation:isolate;display:block;padding:0;border-radius:8px;overflow:hidden;background:#1a1a1a;color:#fff;text-decoration:none;font-family:var(--ptf);--name:24px;--loc:14.5px;--chip:12px}
/* Elementor wraps each widget in its own box (often position:relative); let card overlays anchor to the card itself. */
.pt-card>.elementor-element:not(.pt-card__scrim),.pt-card>.elementor-element>.elementor-widget-container,.pt-card .elementor-shortcode{position:static}
/* Fixed 2:3 frame; photos of another shape are cropped, keeping the upper part (faces) in view. */
.pt-card.pt-card img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:683/1024;object-fit:cover;object-position:50% 20%;border-radius:0}
.pt-card .pt-card__img{width:100%;margin:0}
.pt-card .pt-card__link{position:absolute;inset:0;z-index:3}
.pt-card .pt-card__scrim{position:absolute;inset:auto 0 0 0;width:auto;z-index:1;margin:0;padding:36px 10px 10px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 45%,rgba(0,0,0,0) 100%);display:block}
.pt-card .pt-card__name{font:600 var(--name)/1 var(--ptf);text-transform:uppercase;color:#fff;margin:0}
.pt-card .pt-card__loc{display:flex;align-items:center;gap:5px;color:var(--pt-peach);font:600 var(--loc)/1.2 var(--ptf);margin:5px 0 0}
.pt-card .pt-card__loc:empty{display:none}
.pt-loc__full{display:none}
.pt-card .pt-card__badges{position:absolute;top:6px;left:6px;width:auto;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.pt-card .pt-card__langs{position:absolute;top:6px;right:6px;width:auto;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pt-card__langs :is(.jet-listing-dynamic-terms,.elementor-widget-container){display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pt-card__langs [class*=delimiter]{display:none}
.pt-card .pt-card__langs :is(span,a):not([class*=delimiter]){font:600 var(--chip)/1 var(--ptf);padding:5px 7px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.35);letter-spacing:.05em;text-transform:uppercase;min-width:2.9em;text-align:center;box-sizing:border-box}
.pt-tag{display:inline-block;font:700 11px/1 var(--ptf);text-transform:uppercase;letter-spacing:.08em;padding:5px 7px;border-radius:4px;background:var(--pt-peach);color:#000}
.pt-tag--hot{background:#fff}
.pt-tag--pro{background:#111;color:#fff}
.pt-tag:empty,.pt-card__langs:empty,.pt-card__badges:empty{display:none}
.pt-vid{display:inline-flex;align-items:center;gap:4px;font:700 10px/1 var(--ptf);text-transform:uppercase;letter-spacing:.08em;padding:4px 6px 4px 5px;border-radius:4px;background:rgba(0,0,0,.65);color:#fff;border:1px solid rgba(255,255,255,.45)}
.pt-vid svg{width:10px;height:10px;fill:var(--pt-peach)}

/* ===== grid (JetEngine Listing Grid or plain .pt-grid__items) ===== */
.pt-grid{display:flex;flex-direction:column;--flex-direction:column;gap:1px;padding:0}
.pt-grid :is(.jet-listing-grid__items,.pt-grid__items){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important;margin:0!important;width:auto!important;padding:0}
:is(.pt-grid,.pt-slider) .jet-listing-grid__item{max-width:none!important;flex:none!important;padding:0!important;margin:0;width:auto}
.pt-grid .jet-listing-grid,.pt-slider .jet-listing-grid{margin:0;padding:0}

/* ===== slider S1 (scroll-snap; JetEngine grid in plain Grid mode) ===== */
.pt-slider{position:relative}
.pt-slider :is(.jet-listing-grid__items,.pt-slider__track){display:flex!important;flex-wrap:nowrap!important;gap:1px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0!important;width:auto!important;padding:0}
.pt-slider :is(.jet-listing-grid__items,.pt-slider__track)::-webkit-scrollbar{display:none}
.pt-slider :is(.jet-listing-grid__items,.pt-slider__track)>*{flex:none!important;width:calc((100% - 1px)/2)!important;max-width:none!important;scroll-snap-align:start}
.pt-slider .pt-slider__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px;margin:0;padding:0;border-radius:50%;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.35);color:#fff;display:grid;place-items:center;font:400 22px/1 var(--ptf);cursor:pointer;user-select:none;transition:opacity .2s}
.pt-slider .pt-slider__prev{left:4px}
.pt-slider .pt-slider__next{right:4px}
.pt-slider .pt-slider__btn::after{content:"";position:absolute;inset:min(0px,(100% - 44px)/2)} /* 44px tap area */
.pt-slider .pt-slider__btn[disabled]{opacity:0;pointer-events:none}

/* ===== clinics ===== */
.pt-clinics{display:grid;grid-template-columns:1fr;gap:16px;font-family:var(--ptf)}
.pt-clinic{background:#111;border:1px solid #222;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;--flex-direction:column;padding:0;gap:0;color:#fff}
.pt-clinic__photo{position:relative}
.pt-clinic .pt-clinic__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pt-clinic .pt-clinic__scrim{position:absolute;inset:auto 0 0 0;width:auto;padding:50px 16px 12px;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.6) 50%,rgba(0,0,0,0) 100%)}
.pt-clinic .pt-clinic__title{margin:0;font:600 22px/1.15 var(--ptf);color:var(--pt-peach);text-transform:uppercase}
.pt-clinic__title span{white-space:nowrap}
.pt-clinic__title .pt-clinic__city{display:inline-block}
.pt-status{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--ptf);text-transform:uppercase;letter-spacing:.06em;color:#8ee3a5;margin:6px 0 0}
.pt-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.25)}
.pt-clinic .pt-clinic__body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pt-clinic__body p{margin:0;font-size:14px;color:var(--pt-soft);line-height:1.45}
.pt-clinic__body p b{color:#fff;font-weight:500}
.pt-clinic .pt-clinic__acts{display:flex;flex-flow:row wrap;gap:6px;margin-top:auto;padding-top:8px}
/* Buttons never shrink below their text; they wrap to a second row on narrow cards and share each row. */
.pt-clinic__acts>.elementor-widget.pt-btn{flex:1 1 auto;min-width:max-content;width:auto;margin:0;padding:0}
.pt-clinic__acts .pt-btn a.elementor-button::after{content:"";position:absolute;inset:min(0px,(100% - 44px)/2) 0} /* 44px tap height */
.pt-clinic__acts .pt-btn a.elementor-button{position:relative;width:100%;box-sizing:border-box;justify-content:center;padding:8px 10px;font-size:12px}
/* Narrow card (3 columns on tablet/small desktop): WhatsApp on its own row, the other two share the next one. */
.pt-clinic .pt-clinic__body{container-type:inline-size}
@container (max-width:380px){.pt-clinic__acts>.elementor-widget.pt-btn--g{flex-basis:100%}}
.pt-clinic__acts .pt-btn svg{width:16px;height:16px}
.pt-clinic__acts .pt-btn .pt-pin{width:1em;height:1em}

/* ===== footer ===== */
.pt-foot{padding:22px 12px 14px;border-top:1px solid var(--pt-line);display:grid;grid-template-columns:1fr;gap:20px;font:400 13px/normal var(--ptf);color:var(--pt-muted);max-width:1280px;margin-inline:auto;box-sizing:border-box}
.pt-foot .pt-foot__h{color:#fff;margin:0 0 10px;font:600 13px/1.2 var(--ptf);text-transform:uppercase;letter-spacing:.08em}
.pt-foot a{color:var(--pt-soft);text-decoration:none}
.pt-foot__links a{display:block;margin:4px 0}
.pt-foot__logo img,img.pt-foot__logo{width:120px;height:120px;object-fit:contain;display:block;margin-bottom:12px}
.pt-foot__social{display:flex;flex-flow:row wrap;gap:10px;margin-top:14px}
body .pt-foot .pt-foot__social .elementor-widget-container{overflow:visible} /* Elementor sets overflow:hidden here, which clipped the 44px tap area back to 34px */
.pt-foot .pt-foot__social a::after{content:"";position:absolute;inset:min(0px,(100% - 44px)/2)} /* 44px tap area */
.pt-foot .pt-foot__social a{position:relative;flex:0 0 34px;width:34px;height:34px;box-sizing:border-box;padding:0;border:1px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0;color:#fff}
.pt-foot .pt-foot__social .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin:0;padding:0}
/* Elementor gives inline icon lists -8px side margins: the first and last circles stuck out of the column. */
.pt-foot .pt-foot__social .elementor-icon-list-items.elementor-inline-items{margin:0}
.pt-foot .pt-foot__social .elementor-icon-list-item:after{display:none}
.pt-foot .pt-foot__social .elementor-icon-list-icon{margin:0;padding:0;width:auto;display:flex}
.pt-foot .pt-foot__social .elementor-icon-list-icon i{width:auto;font-size:15px;line-height:1}
.pt-foot__social svg{width:16px;height:16px;fill:currentColor}
.pt-foot__info p{margin:0 0 10px;line-height:1.5}
.pt-foot__info b{color:#fff;font-weight:500}
/* Footer lists built from Elementor Icon List widgets (footer-2026.php) */
.pt-foot .pt-foot__list .elementor-icon-list-items{margin:0;padding:0}
.pt-foot .pt-foot__list .elementor-icon-list-item{margin:0 0 6px;padding:0;line-height:1.5}
.pt-foot .pt-foot__list .elementor-icon-list-text{color:var(--pt-soft);font:inherit}
.pt-foot .pt-foot__list .elementor-icon-list-icon i,.pt-foot .pt-foot__list .elementor-icon-list-icon svg{color:var(--pt-muted);fill:var(--pt-muted);width:13px;font-size:13px}
.pt-foot .pt-foot__list b,.pt-foot .pt-foot__list strong{color:#fff;font-weight:500}
.pt-foot ul.pt-foot__social,.pt-foot .pt-foot__social .elementor-icon-list-items{display:flex;flex-flow:row wrap;gap:10px;margin:0;padding:0;list-style:none}
.pt-foot .pt-foot__social .elementor-icon-list-item{margin:0;padding:0}
.pt-foot .pt-foot__social .elementor-icon-list-text,.pt-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pt-foot .elementor-icon-list-text{color:var(--pt-soft)}
.pt-foot .pt-foot__legal .elementor-icon-list-text{color:var(--pt-muted)}
.pt-foot .pt-foot__list .elementor-icon-list-text a{text-decoration:underline;text-underline-offset:2px}
.pt-foot__legal p{margin:0}
/* Old footer logo is dark (it sat on peach): lighten it on the dark footer */
.pt-foot__logo img{filter:brightness(0) invert(.86) sepia(.35)}
/* Room for the fixed WhatsApp / phone buttons under the legal line */
.pt-foot.pt-foot{padding-bottom:84px}
.pt-foot__legal{grid-column:1/-1;border-top:1px solid var(--pt-line);padding-top:12px;font-size:12px;display:flex;flex-flow:row wrap;justify-content:space-between;gap:8px}
.pt-foot__legal a{display:inline;margin:0 12px 0 0}

/* ===== floating buttons ===== */
.pt-fabs{position:fixed;left:20px;right:20px;bottom:20px;z-index:90;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}
.pt-fabs__stack{display:flex;flex-direction:column;gap:12px;margin-left:auto}
.pt-fab{pointer-events:auto;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.5);text-decoration:none;box-sizing:border-box}
.pt-fab svg{width:30px;height:30px;fill:currentColor}
.pt-fab--wa{background:var(--pt-green)}
.pt-fab--tg{background:#229ED9}
.pt-fab--ph{background:#111;border:2px solid var(--pt-peach);color:var(--pt-peach)}
.pt-fab--ph svg{width:26px;height:26px}
.pt-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:89;background:rgba(0,0,0,.94);border-top:1px solid var(--pt-line);padding:10px 12px}
.pt-stickybar .pt-btn{width:100%;box-sizing:border-box}
body:has(.pt-stickybar){padding-bottom:62px}
body:has(.pt-stickybar) .pt-fabs{bottom:82px}
/* Floating buttons (owner, 2026-10-10): WhatsApp, phone and Telegram are one size that grows smoothly with the screen,
   --pt-fs = 44px on phones, about 51px at 768, 56px from about 1030px up; glyph = half the circle. WhatsApp and phone are
   Elementor Icon widgets (22 / 25 / 28px icon in a padding:.5em circle, per breakpoint); wp/setup/float-buttons-2026.php adds the class
   pt-float-btn to them. The selector below has one element more than Elementor's per-element rules (body), so it wins with no !important;
   Elementor sets the svg height as well as the font size, hence both. Offsets stay Elementor's (10px from the corner, circle 16px from the bottom). */
:root{--pt-fs:clamp(44px, 32px + 2.335vw, 56px)}
body .elementor-element.elementor-widget-icon.pt-float-btn .elementor-icon{font-size:calc(var(--pt-fs) / 2)}
body .elementor-element.elementor-widget-icon.pt-float-btn .elementor-icon svg{width:1em;height:1em}
/* Telegram float (extra-telegram.php): stacked 10px above the WhatsApp circle (which sits 16px from the bottom). */
.pt-tg{--s:var(--pt-fs);position:fixed;right:10px;bottom:calc(26px + var(--s));z-index:99;width:var(--s);height:var(--s);border-radius:50%;background:#229ED9;display:flex;align-items:center;justify-content:center}
.pt-tg svg{width:calc(var(--s) / 2);height:calc(var(--s) / 2);fill:#fff;margin-left:-2px}
.pt-tg:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Floating buttons slide in with CSS only (owner 2026-09-24). Elementor's own entrance animation hid WhatsApp and
   phone until its (Seraphinite-delayed) JS ran; floats-2026.php removed it and tags them pt-float--left/right.
   Opacity + transform only: no layout, no paint cost; the buttons are never part of LCP. */
@keyframes pt-float-l{from{opacity:0;transform:translateX(-24px)}}
@keyframes pt-float-r{from{opacity:0;transform:translateX(24px)}}
.pt-float--left{animation:pt-float-l .5s ease-out .4s both}
.pt-float--right,.pt-tg{animation:pt-float-r .5s ease-out .4s both}
.pt-tg{animation-delay:.5s}
/* Floating phone button, owner choice 2026-09-24 (option 4): black + peach handset are the Icon widget's colours
   (phone-float-2026.php); the peach ring is drawn here. */
.pt-float--phone .elementor-icon{box-shadow:0 0 0 2px var(--pt-peach),0 2px 8px rgba(0,0,0,.4)}

/* ===== therapist page ===== */
.pt-crumb{padding:4px 12px 0;font:500 11px/1.4 var(--ptf);color:var(--pt-muted);text-transform:uppercase;letter-spacing:.08em;display:flex;flex-flow:row wrap;gap:8px;align-items:center;max-width:1280px;margin-inline:auto;box-sizing:border-box}
.pt-crumb a{color:var(--pt-soft);text-decoration:none}
.pt-crumb__cur{color:var(--pt-peach)}
.pt-crumb__sep{opacity:.5}
.pt-hero{position:relative;display:flex;flex-direction:column;--flex-direction:column;justify-content:flex-end;overflow:hidden;background:#000;aspect-ratio:3/4;min-height:0;padding:0;max-width:1280px;margin-inline:auto;font-family:var(--ptf);color:#fff}
.pt-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.75) 35%,rgba(0,0,0,0) 70%);pointer-events:none}
.pt-hero .pt-hero__trio{position:absolute;inset:0;z-index:0;display:block;width:auto;margin:0;padding:0}
.pt-hero .pt-hero__trio img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 15%;max-width:none;border-radius:0}
.pt-hero .pt-hero__trio>:not(:nth-child(2)){display:none}
.pt-hero__trio>*,.pt-hero__trio .elementor-widget-container{height:100%}
.pt-hero .pt-hero__in{position:relative;z-index:2;padding:20px 12px 16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;width:auto}
.pt-hero .pt-tname{margin:0;color:var(--pt-peach);font:600 40px/1 var(--ptf);text-transform:uppercase;display:flex;flex-flow:row wrap;align-items:center;gap:8px}
.pt-tname .pt-tag{font-size:12px;padding:6px 9px}
.pt-hero .pt-tname .elementor-shortcode{display:flex;flex-flow:row wrap;align-items:center;gap:8px;line-height:1}
.pt-langs{display:inline-flex;gap:4px}
.pt-langs span{font:600 12px/1 var(--ptf);padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.35);letter-spacing:.05em}
/* Language flags (owner 2026-09-24): top filter chips and therapist page pills; card pills stay plain. EN = USA. */
[data-idioma="en"]{--pt-flag:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2019%2010'><rect%20width='19'%20height='10'%20fill='%23fff'/><path%20d='M9.5%200v10'%20stroke='%23B22234'%20stroke-width='19'%20stroke-dasharray='.769'/><rect%20width='7.6'%20height='5.38'%20fill='%233C3B6E'/></svg>")}
[data-idioma="es"]{--pt-flag:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%203%202'><rect%20width='3'%20height='2'%20fill='%23AA151B'/><rect%20y='.5'%20width='3'%20height='1'%20fill='%23F1BF00'/></svg>")}
[data-idioma="it"]{--pt-flag:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%203%202'><rect%20width='1'%20height='2'%20fill='%23009246'/><rect%20x='1'%20width='1'%20height='2'%20fill='%23fff'/><rect%20x='2'%20width='1'%20height='2'%20fill='%23CE2B37'/></svg>")}
[data-idioma="ja"]{--pt-flag:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%203%202'><rect%20width='3'%20height='2'%20fill='%23fff'/><circle%20cx='1.5'%20cy='1'%20r='.6'%20fill='%23BC002D'/></svg>")}
[data-idioma="fr"]{--pt-flag:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%203%202'><rect%20width='1'%20height='2'%20fill='%23002395'/><rect%20x='1'%20width='1'%20height='2'%20fill='%23fff'/><rect%20x='2'%20width='1'%20height='2'%20fill='%23ED2939'/></svg>")}
/* Attention wave (owner 2026-09-24: make visitors notice the filters): ~1s after load each chip lights up peach,
   left to right, twice, then stops. CSS only; background/border/shadow on small chips, no layout shift. The chip of
   the current page (already peach) is skipped. */
@keyframes pt-chip-hi{50%{border-color:var(--pt-peach);background:rgba(255,255,255,.18);box-shadow:0 0 0 3px color-mix(in srgb,var(--pt-peach) 45%,transparent)}}
.pt-chips .pt-chip:not([aria-current]){animation:pt-chip-hi .6s ease-in-out 2 both;animation-delay:calc(1s + var(--i,0) * 90ms)}
.pt-chips.is-used .pt-chip{animation:none} /* after the first chip tap: a location chip turned off would replay the wave */
.pt-chips__locs>:nth-child(2){--i:1}.pt-chips__locs>:nth-child(3){--i:2}.pt-chips__locs>:nth-child(4){--i:3}.pt-chips__locs>:nth-child(5){--i:4}
.pt-chips__langs>:nth-child(1){--i:2}.pt-chips__langs>:nth-child(2){--i:3}.pt-chips__langs>:nth-child(3){--i:4}.pt-chips__langs>:nth-child(4){--i:5}.pt-chips__langs>:nth-child(5){--i:6}
/* "Vídeo" chip (owner 2026-09-24): written out after Centro in the same row; play icon in the card badge's peach (black when pressed) from 768px, phones have no room for it. */
.pt-chips .pt-chip--video:before{content:"";display:none;width:.8em;height:.8em;flex:none;background:var(--pt-peach);-webkit-mask:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='5%205%2014%2014'><path%20d='M8%205v14l11-7z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='5%205%2014%2014'><path%20d='M8%205v14l11-7z'/></svg>") center/contain no-repeat}
.pt-chips .pt-chip--video[aria-pressed="true"]:before{background:currentColor}
.pt-chips .pt-chip[data-idioma]:before,.pt-langs [data-idioma]:before{content:"";display:inline-block;width:18px;height:12px;flex:none;border-radius:2px;background:var(--pt-flag) center/cover no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.pt-langs [data-idioma]{display:inline-flex;align-items:center;gap:6px}
.pt-langs [data-idioma]:before{width:16px;height:11px}
.pt-today{display:flex;flex-flow:row wrap;align-items:center;gap:8px;color:var(--pt-soft);font:400 14px/1.4 var(--ptf)}
.pt-today:empty{display:none}
.pt-today .pt-status{margin:0}
.pt-today__where{display:inline-flex;align-items:center;gap:5px;color:var(--pt-peach);font-weight:600}
.pt-today__addr{color:var(--pt-muted);font-size:13px;flex-basis:100%}
.pt-today__addr a{color:var(--pt-soft);text-decoration:underline;text-underline-offset:3px}
/* Hero text readability, owner choice 2026-09-24 (mockup terapeuta-legibilidade.html, option B): a soft dark shadow
   behind every text line over the photo, lighter address text and darker chips, so light photos (white walls)
   no longer wash the name and address out. */
.pt-hero :is(.pt-tname,.pt-today,.pt-status,.pt-today__where,.pt-today__addr){text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.85)}
.pt-hero .pt-today__addr{color:var(--pt-soft)}
.pt-hero .pt-attr{background:rgba(0,0,0,.68)}
.pt-hero .pt-langs span{background:rgba(0,0,0,.72)}
.pt-attrs{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;margin:0}
.pt-attr{display:inline-flex;align-items:center;gap:6px;min-width:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 10px;color:#fff;font:500 12.5px/1 var(--ptf);background:rgba(0,0,0,.45);white-space:nowrap}
.pt-attr:last-child:nth-child(odd){grid-column:1/-1}
.pt-attr .pt-ic{width:15px;height:15px;color:var(--pt-peach)}
.pt-attr b{color:var(--pt-muted);font-weight:500}
.pt-attr__txt{overflow:hidden;text-overflow:ellipsis}
.pt-mod{display:none;background:rgba(0,0,0,.55);border:1px solid rgba(242,179,153,.4);border-radius:10px;padding:12px 14px;gap:12px;align-items:flex-start;text-align:left}
.pt-mod .pt-ic{width:28px;height:28px;color:var(--pt-peach)}
.pt-mod b{display:block;color:var(--pt-peach);font:600 12px/1 var(--ptf);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.pt-mod span{color:#fff;font-size:15px;line-height:1.4}
.pt-hero .pt-acts{display:none;gap:10px;flex-wrap:wrap}
.pt-sec-h{color:var(--pt-peach);font:600 19px/1.15 var(--ptf);text-transform:uppercase;letter-spacing:.02em;margin:0 0 12px}
.pt-sec-h small{display:block;color:var(--pt-muted);font:400 13px/1.4 var(--ptf);text-transform:none;letter-spacing:0;margin-top:3px}
.pt-qa{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0;font-family:var(--ptf)}
.pt-qa__item{padding:12px 0;border-bottom:1px solid var(--pt-line);break-inside:avoid}
.pt-qa .pt-qa__q{margin:0 0 5px;color:var(--pt-peach);font:600 14px/1.35 var(--ptf);text-transform:none}
.pt-qa .pt-qa__a{margin:0;color:#e6dfda;font:400 14px/1.5 var(--ptf)}
/* gallery: 1 per row edge to edge on phone, 2 per row on desktop, 1px gap, square corners */
.pt-gallery :is(.jet-engine-gallery-grid,.pt-gallery__items){display:grid!important;grid-template-columns:1fr;gap:1px;margin:0!important;padding:0}
.pt-gallery :is(.jet-engine-gallery-grid__item,.pt-gallery__items>*){position:relative;display:block;margin:0;padding:0!important;max-width:none!important;flex:none!important;overflow:hidden;background:#1a1a1a;aspect-ratio:683/1024}
.pt-gallery :is(.jet-engine-gallery-grid__item,.pt-gallery__items>*) :is(a,img){display:block;width:100%;height:100%}
.pt-gallery .pt-gallery__land img,.pt-gallery :is(a,div) img{object-fit:cover;object-position:top;border-radius:0;max-width:none}
.pt-gallery .pt-gallery__land{aspect-ratio:768/512}

/* ===== YouTube Shorts (lite embed) ===== */
.pt-shorts-section:not(:has(.pt-short:not([data-id=""]))),.pt-shorts-section[hidden]{display:none!important}
.pt-shorts{display:flex;gap:1px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;font-family:var(--ptf)}
.pt-shorts::-webkit-scrollbar{display:none}
.pt-short{position:relative;display:block;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:9/16;overflow:hidden;background:#111;border:0;margin:0;padding:0;color:#fff;cursor:pointer;text-align:left;font:inherit;border-radius:0}
.pt-short[data-id=""]{display:none}
/* Hello theme's button reset (loaded later) adds a 1px pink border and 8px padding to every <button>. */
.pt-shorts>.pt-short{border:0;padding:0}
.pt-shorts .pt-short img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:brightness(.7);max-width:none}
.pt-short iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pt-short:not(.is-playing):after{content:"";position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.6);background:rgba(242,179,153,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.3 7.8v8.4l7.3-4.2z' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.pt-short.is-playing{cursor:auto}
/* Smart autoplay (prisma.js 3b): muted clip over the poster + "tap to listen" box instead of the play circle. */
.pt-shorts .pt-short__prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:0;transition:opacity .4s}
.pt-shorts .pt-short.is-auto .pt-short__prev{opacity:1}
.pt-short.is-auto:after{content:none}
.pt-short__hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding-top:22%;box-sizing:border-box;pointer-events:none;color:#fff;text-align:center;font-family:var(--ptf);background:radial-gradient(circle at 50% 61%,rgba(0,0,0,.5) 0,rgba(0,0,0,.2) 32%,rgba(0,0,0,0) 55%);animation:pt-in .35s ease-out both}
/* Owner pick 2026-09-25: mockups/autoplay-hint-center-4.html direction 1 "Pulso de ondas", larger text. */
.pt-pulse{position:relative;width:72px;height:72px;flex:none}
.pt-pulse__btn{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:var(--pt-peach);color:#111;box-shadow:0 8px 24px rgba(0,0,0,.45);animation:pt-beat 1.6s ease-in-out infinite}
.pt-pulse__btn svg{display:block;width:36px;height:36px;fill:currentColor}
.pt-pulse:before,.pt-pulse:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--pt-peach);animation:pt-ripple 1.6s ease-out infinite}
.pt-pulse:after{animation-delay:-.8s}
.pt-pulse__txt{padding:9px 15px;border-radius:10px;background:rgba(0,0,0,.62)}
.pt-pulse__txt b{display:block;font:700 18px/1.2 var(--ptf);white-space:nowrap}
.pt-pulse__txt small{display:block;margin-top:4px;font:500 15px/1.2 var(--ptf);color:var(--pt-peach);letter-spacing:.02em}
@keyframes pt-in{from{opacity:0}}
@keyframes pt-ripple{from{transform:scale(1);opacity:.9}to{transform:scale(2.1);opacity:0}}
@keyframes pt-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.08)}24%{transform:scale(.98)}36%{transform:scale(1.04)}50%{transform:scale(1)}}
.pt-playlist-label{position:absolute;left:0;right:0;bottom:24%;text-align:center;font:600 16px/1.3 var(--ptf);text-transform:uppercase;letter-spacing:.04em}
.pt-shorts:has(>.pt-short+.pt-short){margin-bottom:20px}
.pt-dots{display:flex;justify-content:center;align-items:flex-start;gap:8px;height:20px;margin-top:-20px;padding-top:12px;box-sizing:border-box}
.pt-dots button::after{content:"";position:absolute;inset:-18px -4px} /* bigger tap area for the 8px dots */
.pt-dots button{position:relative;width:8px;height:8px;border-radius:50%;border:0;padding:0;margin:0;background:#555;cursor:pointer}
.pt-dots button[aria-current="true"]{background:var(--pt-peach);width:22px;border-radius:4px}

/* ===== price page (fundo) ===== */
.pt-prices{max-width:980px;margin:0 auto;font-family:var(--ptf);color:#fff}
.pt-prices .pt-sec-h{margin:26px 0 12px}
.pt-prices>.pt-sec-h:first-child{margin-top:0}
.pt-pgrid2{display:grid;grid-template-columns:1fr;gap:14px}
.pt-pgrid4{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pt-kick{display:inline-block;align-self:flex-start;font:700 11px/1 var(--ptf);text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:4px;background:var(--pt-peach);color:#000}
.pt-pcard{position:relative;overflow:hidden;background:#111;border:1px solid #232323;border-radius:12px;padding:14px;display:flex;flex-direction:column;--flex-direction:column;gap:10px;color:#fff}
.pt-pcard--photo:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.8));pointer-events:none}
.pt-pcard .pt-pcard__bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;margin:0}
.pt-pcard .pt-pcard__bg .elementor-widget-container{height:100%}
.pt-pcard .pt-pcard__bg img,.pt-pcard img.pt-pcard__bg{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.28;max-width:none;border-radius:0}
.pt-pcard--sala .pt-pcard__bg img,.pt-pcard--sala img.pt-pcard__bg{object-position:center}
.pt-pcard .pt-pcard__in{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;flex:1;width:auto;padding:0}
.pt-pcard .pt-pcard__title{margin:0;color:var(--pt-peach);font:600 18px/1.15 var(--ptf);text-transform:uppercase}
.pt-pcard__d{margin:0;color:var(--pt-muted);font-size:12px;line-height:1.45}
.pt-pcard .pt-tiers{margin-top:auto}
.pt-tiers{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pt-tier{background:rgba(0,0,0,.6);border:1px solid #262626;border-radius:8px;padding:9px 6px;text-align:center}
.pt-tier__du{display:block;color:var(--pt-muted);font:600 12px/1 var(--ptf);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.pt-tier__pr{display:block;color:#fff;font:600 18px/1 var(--ptf);font-variant-numeric:tabular-nums}
.pt-tier__pr .pt-cur{font-size:11px;color:var(--pt-muted);font-weight:400}
.pt-tier--hi{border-color:var(--pt-peach)}
.pt-tier--hi .pt-tier__du{color:var(--pt-peach)}
body a.pt-go,.pt-go{display:inline-flex;align-items:center;gap:6px;color:#8ee3a5;font:600 13px/1.2 var(--ptf);text-decoration:none}
.pt-go svg{width:15px;height:15px;fill:currentColor}
.pt-hint{color:var(--pt-muted);font-size:13px;line-height:1.45}
/* "Mais procurada" hero card */
.pt-pcard--top{padding:16px;gap:9px;border-radius:14px;border-color:rgba(242,179,153,.6);background:#111}
.pt-pcard--top:after{background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.75))}
.pt-pcard--top .pt-pcard__in{gap:9px}
.pt-pcard--top .pt-pcard__title{font-size:26px;line-height:1}
.pt-from{display:flex;align-items:baseline;gap:10px}
.pt-from__lbl{color:var(--pt-muted);font:600 13px var(--ptf);text-transform:uppercase;letter-spacing:.08em}
.pt-from__big{color:#fff;font:600 38px/1 var(--ptf);font-variant-numeric:tabular-nums}
.pt-from__big .pt-cur{font-size:18px;color:var(--pt-muted);font-weight:400;margin-right:2px}
.pt-pills{display:flex;flex-flow:row wrap;gap:6px}
.pt-pill{display:inline-block;border:1px solid #333;border-radius:999px;padding:6px 10px;color:var(--pt-soft);font:500 14px/1 var(--ptf);white-space:nowrap}
.pt-pcard--top .pt-btn{align-self:flex-start;margin-top:4px;font-size:14px;padding:11px 16px}
/* couples / combos (no photo) */
.pt-pcard--duo{padding:12px}
.pt-pcard--duo .pt-pcard__title{font-size:18px}
.pt-pcard__big{color:#fff;font:600 22px/1.2 var(--ptf);font-variant-numeric:tabular-nums}
.pt-pcard__big small{color:var(--pt-muted);font:400 14px var(--ptf);margin-left:6px}
.pt-pcard__big.pt-pcard__big--txt{font-size:18px;line-height:1.3}
.pt-xchips{display:flex;flex-flow:row wrap;gap:8px}
.pt-xchip{display:inline-flex;flex-direction:column;gap:2px;background:#111;border:1px solid #262626;border-radius:10px;padding:10px 14px;min-width:0;flex:1 1 45%;font-family:var(--ptf)}
.pt-xchip__n{color:#fff;font-weight:600;font-size:14px}
.pt-xchip__p{color:var(--pt-peach);font-size:16px;font-weight:500}
.pt-xchip__p .pt-hint{font-size:13px}
.pt-xchip__d{color:var(--pt-muted);font-size:12px;line-height:1.35}

/* ===== desktop ===== */
@media (min-width:768px){
  .pt-section,.pt-section--edge,.pt-section--flush,.pt-section--grid{padding:24px 28px}
  .pt-section--grid{padding-top:9px}
  .elementor-location-footer>.pt-section{padding-top:20px;padding-bottom:0}
  .elementor-location-footer>.pt-section:has(+.pt-foot){padding-bottom:20px}
  .pt-h{font-size:30px}
  .pt-pagehead{padding:0 28px 8px}
  .pt-intro{font-size:16px;line-height:1.45}
  .pt-intro p{margin:0 0 6px}
  .pt-lead{font-size:16px}
  .pt-chips{padding:10px max(28px,calc(50% - 612px));gap:10px}
  .pt-chips .pt-chips__locs,.pt-chips .pt-chips__langs{gap:10px}
  .pt-chips .pt-chips__locs{width:auto}
  .pt-chips__sep{display:block}
  .pt-chips .pt-chip{font-size:14px;padding:8px 14px;gap:6px}
  .pt-chips .pt-chip[data-local]:not([data-local=""]):before,.pt-chips .pt-chip--video:before{display:block}
  .pt-chip__full{display:inline}
  .pt-chip__short{display:none}
  .pt-loc__full{display:inline}
  .pt-loc__short{display:none}
  .pt-card{--name:30px;--loc:20px;--chip:15px}
  .pt-card .pt-card__scrim{padding:60px 14px 14px}
  .pt-card .pt-card__loc{margin-top:8px}
  .pt-card .pt-card__badges{top:10px;left:10px}
  .pt-card .pt-card__langs{top:10px;right:10px}
  .pt-card__langs :is(.jet-listing-dynamic-terms,.elementor-widget-container){display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pt-card__langs [class*=delimiter]{display:none}
.pt-card .pt-card__langs :is(span,a):not([class*=delimiter]){padding:6px 9px}
  .pt-tag{font-size:13px;padding:6px 9px}
  .pt-vid{font-size:12px;padding:5px 8px 5px 6px}
  .pt-vid svg{width:12px;height:12px}
  .pt-grid{gap:4px}
  .pt-grid :is(.jet-listing-grid__items,.pt-grid__items){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}
  .pt-slider :is(.jet-listing-grid__items,.pt-slider__track){gap:4px}
  .pt-slider :is(.jet-listing-grid__items,.pt-slider__track)>*{width:calc((100% - 16px)/5.2)!important}
  .pt-slider .pt-slider__btn{width:40px;height:40px}
  .pt-slider .pt-slider__prev{left:-8px}
  .pt-slider .pt-slider__next{right:-8px}
  .pt-clinics{grid-template-columns:repeat(3,1fr)}
  .pt-clinic__acts{gap:8px}
  .pt-clinic__acts .pt-btn a.elementor-button{padding:9px 11px;font-size:13px}
  .pt-clinic__acts .pt-btn svg{width:18px;height:18px}
  .pt-foot{grid-template-columns:200px 1fr 1.6fr;gap:28px;padding:30px 28px 18px}
  .pt-stickybar{display:none}
  body:has(.pt-stickybar){padding-bottom:0}
  body:has(.pt-stickybar) .pt-fabs{bottom:20px}
  .pt-crumb{padding:6px 28px 0;font-size:12px}
  .pt-hero{aspect-ratio:auto;min-height:640px}
  .pt-hero:before{background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.1) 100%)}
  .pt-hero .pt-hero__trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px}
  .pt-hero .pt-hero__trio>:not(:nth-child(2)){display:block}
  .pt-hero .pt-hero__trio img{object-position:top}
  .pt-hero .pt-hero__in{padding:40px 28px 34px;gap:14px;align-items:center;text-align:center;margin:0 auto}
  .pt-hero .pt-tname{font-size:64px;gap:12px;justify-content:center}
  .pt-today{font-size:15px;justify-content:center}
  .pt-today__addr{flex-basis:auto}
  .pt-attrs{display:flex;flex-flow:row wrap;justify-content:center;width:auto}
  .pt-attr{font-size:13px;padding:6px 11px}
  .pt-mod{display:flex}
  .pt-hero .pt-acts{display:flex;justify-content:center}
  .pt-sec-h{font-size:22px}
  .pt-qa{grid-template-columns:1fr 1fr;gap:4px 32px}
  .pt-qa .pt-qa__a{font-size:15px}
  .pt-gallery :is(.jet-engine-gallery-grid,.pt-gallery__items){grid-template-columns:1fr 1fr}
  .pt-gallery .pt-gallery__land{grid-column:span 2}
  .pt-shorts{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
  .pt-short:not(.is-playing):after{width:76px;height:76px;margin:-38px 0 0 -38px}
  .pt-shorts:has(>.pt-short+.pt-short){margin-bottom:0}
  .pt-dots{display:none}
  .pt-pgrid2{grid-template-columns:1fr 1fr}
  .pt-pgrid4{grid-template-columns:repeat(4,1fr);gap:14px}
  .pt-pcard--photo{min-height:290px}
  .pt-pcard__d{font-size:13px}
  .pt-tier__pr{font-size:21px}
  .pt-tier__pr .pt-cur{font-size:13px}
  .pt-pcard--top{padding:24px;gap:12px;min-height:300px}
  .pt-pcard--top .pt-pcard__in{gap:12px}
  .pt-pcard--top .pt-kick{margin-bottom:auto}
  .pt-pcard--top .pt-pcard__title{font-size:34px}
  .pt-from__big{font-size:46px}
  .pt-pill{font-size:15px;padding:7px 12px}
  .pt-pcard--duo{padding:18px}
  .pt-pcard__big{font-size:24px}
  .pt-pcard__d{font-size:13px}
  .pt-xchip{min-width:150px;flex:0 1 auto}
  .pt-xchip__p{font-size:17px}
}
/* Very wide screens (owner, 2026-10-10): 6 cards per row, never an odd count (2 phone / 4 / 6); at 1800px a card is about 297px, like a laptop's 4-column card. prisma.js initFill reads the columns from the grid, so the filler tiles close the last row. */
@media (min-width:1800px){.pt-grid :is(.jet-listing-grid__items,.pt-grid__items){grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media (prefers-reduced-motion:reduce){
  .pt-float,.pt-tg{animation:none!important} /* chip wave kept on purpose (owner, 2026-09-25): 2 short colour pulses, no movement */
  .pt-slider :is(.jet-listing-grid__items,.pt-slider__track),.pt-shorts{scroll-behavior:auto}
  .pt-slider .pt-slider__btn{transition:none}
}
/* Accessibility on older page content (owner-kept sections): links inside text are underlined */
.elementor-widget-text-editor :is(p,li) a{text-decoration:underline;text-underline-offset:2px}
/* Header menu layout shift (desktop CLS 0.351, same on production): before Roboto loads, the menu wrapped
   "SAIBA MAIS" to a 2nd line, then snapped back. Keep one line, and hide Seraphinite's temporary 2nd arrow copy. */
@media (min-width:1025px){.elementor-location-header .elementor-nav-menu--main>.elementor-nav-menu{flex-wrap:nowrap}}
.elementor-nav-menu .sub-arrow.js-lzl-ing{display:none}
/* Header (and its dropdowns) above the page: the sticky filter-chip bar (z-index 5) and the Centro promo banner (z-index 100) covered the last dropdown items. */
.elementor-location-header{position:relative;z-index:200}
/* Header icon widgets: no text line box under the icon, so it centres exactly with the menu button (Elementor has no setting for it). */
.elementor-location-header .elementor-widget-icon .elementor-icon-wrapper{line-height:0}
/* Phone header button (header-mobile-2026.php): fills the space the logo leaves in its column (legacy sections have no grow setting). */
.elementor-location-header .pt-hdr-cta{flex:1 1 0;min-width:0}
/* The logo is no longer the column's last widget, so Elementor's 20px widget spacing would push it up. */
.elementor-location-header .elementor-widget-wrap:has(>.pt-hdr-cta)>.elementor-widget{margin-bottom:0}
/* The logo PNG has black margins that the negative margins crop; clip them at every width so they never cover
   the page title or the therapist-page breadcrumb (desktop: 25px of black square hung below the header). */
.elementor-location-header .elementor-widget-image{overflow:hidden}
/* Phone header: logo, button, Instagram and menu 10px apart (the section's 10px padding gives the same at the edges).
   Legacy columns have fixed % widths and no gap setting: the icon and menu columns shrink to their button. */
@media (max-width:767px){
  .elementor-location-header .elementor-container:has(.pt-hdr-cta){gap:10px}
  .elementor-location-header .elementor-container:has(.pt-hdr-cta)>.elementor-column{width:auto;flex:none}
  .elementor-location-header .elementor-container:has(.pt-hdr-cta)>.elementor-column:has(.pt-hdr-cta){flex:1 1 0;min-width:0}
}

/* Location pages, clinic block / reviews / FAQ / SEO text (setup/local-2026.php, mockups/local-middle.html).
   Elementor settings carry colours, type, borders and widths; these rules cover what it has no control for. */
.pt-loc__gal .gallery{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1px;margin:0!important}
.pt-loc__gal .gallery-columns-6{grid-template-columns:repeat(6,1fr)}
.pt-loc__gal .gallery-item{max-width:none!important;width:auto!important;margin:0!important;padding:0!important}
.pt-loc__gal .gallery-icon a{display:block;aspect-ratio:4/3;overflow:hidden;background:#1a1a1a}
.pt-loc__gal .gallery-icon img{display:block;width:100%;height:100%;object-fit:cover;border:0!important;border-radius:0}
.pt-loc__gal .gallery br{display:none}
.pt-loc__col>.elementor-widget-wrap{align-content:flex-start}
.pt-loc__act{flex:1 1 0;min-width:max-content}
.pt-loc__act+.pt-loc__act{margin-inline-start:6px}
/* Clinics page (setup/clinicas-2026.php): VER MAIS on its own row under the three buttons; the footer's clinics
   section is hidden there because the page already shows every clinic. */
.pt-loc__act.pt-loc__more{flex:1 1 100%;margin:6px 0 0!important}
@media (min-width:768px){.pt-pagehead.pt-clinicas{padding-bottom:0}.pt-pagehead.pt-clinicas .pt-intro p:last-child{margin-bottom:0}}
body:has(.pt-clinicas) .elementor-location-footer>.pt-section:has(.pt-clinics){display:none}
.pt-loc__act .elementor-button{height:100%;box-sizing:border-box}
.pt-loc__map iframe{display:block;width:100%;height:320px;border:0;border-radius:12px;background:#1b1d1f}
.pt-faq .elementor-widget-accordion .elementor-accordion .elementor-accordion-item{border-width:0 0 1px!important}
.pt-faq .elementor-widget-accordion .elementor-accordion .elementor-tab-content{border-top:0!important}
@media (max-width:1024px){
  .pt-loc__gal .gallery-columns-6{grid-template-columns:repeat(4,1fr)}
  .pt-loc__map iframe{height:260px}
}
@media (max-width:767px){
  .pt-loc__gal .gallery,.pt-loc__gal .gallery-columns-6{grid-template-columns:1fr 1fr}
  .pt-loc__gal .elementor-image-gallery{margin-inline:-10px}
  .pt-revs__row>.elementor-container{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .pt-revs__row>.elementor-container::-webkit-scrollbar{display:none}
  .pt-revs__card{flex:none;scroll-snap-align:start}
}
@media (min-width:1025px){
  .pt-seo .elementor-column>.elementor-widget-wrap{display:block;column-count:2;column-gap:48px}
  .pt-seo .elementor-widget-wrap>.elementor-widget-heading{break-after:avoid;break-inside:avoid}
  .pt-seo .elementor-widget-wrap>.elementor-widget-text-editor{break-inside:avoid}
}

/* Tablet: its header ends 10px under the button, so the title gets 10px more to make 20px like the other gaps. */
@media (min-width:768px) and (max-width:1024px){.pt-pagehead{padding-top:10px}}

/* Promo banner (setup/promo-2026.php, Centro page): brand card with a peach "NN% OFF" badge. */
.pt-promo{display:flex;align-items:center;gap:12px;margin:0;padding:12px 14px;border-radius:12px;border:1px solid rgba(242,179,153,.45);background:linear-gradient(135deg,rgba(242,179,153,.18),rgba(242,179,153,.04) 60%),#0d0d0d;color:#f3ede9;font-family:var(--ptf);text-align:left}
.pt-promo__off{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:10px;background:var(--pt-peach);color:#000;font:800 22px/1 var(--ptf);letter-spacing:-.02em}
.pt-promo__off small{font:700 11px/1 var(--ptf);letter-spacing:.12em;margin-top:3px}
.pt-promo__txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.pt-promo__h{font:600 14px/1.3 var(--ptf);color:#fff}
.pt-promo__p{font:400 13px/1.4 var(--ptf);color:var(--pt-soft)}
.pt-promo__p s{color:var(--pt-muted)}
.pt-promo__p b{color:var(--pt-peach);font-weight:700;font-size:15px}
@media (min-width:768px){
  .pt-promo{max-width:760px;margin:0 auto;padding:14px 18px;gap:16px}
  .pt-promo__off{width:76px;height:76px;font-size:26px}
  .pt-promo__h{font-size:16px}
  .pt-promo__p{font-size:15px}
  .pt-promo__p b{font-size:17px}
}
/* Therapist cards (owner trial 2026-09-24, mockup cards-legibilidade.html option B): shadow behind name and location, darker pills. */
.pt-card :is(.pt-card__name,.pt-card__loc){text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.85)}
.pt-card .pt-card__langs :is(span,a):not([class*=delimiter]),.pt-card .pt-vid{background:rgba(0,0,0,.75)}
/* Nova / Destaque / Pro tags: shadow on the chip, never on the letters (the hero name's text shadow was inheriting into the tag). */
:is(.pt-card,.pt-hero) .pt-tag{text-shadow:none;box-shadow:0 1px 4px rgba(0,0,0,.6)}
/* Therapist page on phones: 1px between the hero photo and the video row. */
@media (max-width:767px){.pt-hero+.pt-shorts-section{padding-top:1px}}
/* Preços "Mais procurada" card: duration pills on one line at 360px; "1H" label lines up with the pill text (border + padding). */
.pt-pcard--top .pt-from{padding-left:9px}
.pt-pcard--top .pt-pills{gap:5px}
.pt-pcard--top .pt-pill{font-size:13px;padding:6px 8px}
@media (min-width:768px){.pt-pcard--top .pt-from{padding-left:13px}.pt-pcard--top .pt-pill{font-size:15px;padding:7px 12px}}
/* Fewer than 3 Shorts on tablet/desktop: keep the 1/3 width and centre them instead of leaving an empty column. */
@media (min-width:768px){
  .pt-shorts:has(>.pt-short:first-child:nth-last-child(2)){grid-template-columns:repeat(2,calc((100% - 2px)/3));justify-content:center}
  .pt-shorts:has(>.pt-short:only-child){grid-template-columns:calc((100% - 2px)/3);justify-content:center}
}
/* One Prisma video before the footer (home + location pages, setup/prisma-video-2026.php): centred, not full-width tall on phones. */
/* Elementor containers wrap by default; a wrapping column under-measures the 9:16 box and the footer overlapped it. */
.e-con.pt-pvideo{--flex-wrap:nowrap}
.pt-pvideo .pt-sec-h{text-align:center}
.pt-pvideo .pt-shorts{max-width:260px;margin-inline:auto}
@media (min-width:768px){.pt-pvideo .pt-shorts:has(>.pt-short){max-width:320px;grid-template-columns:1fr}}
/* Grid filler tiles (prisma.js section 7, mockups/blank-spaces-v2.html): card-sized links that close a half-empty last row. */
.pt-fill{container-type:inline-size;position:relative;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;padding:18px 14px;box-sizing:border-box;aspect-ratio:683/1024;min-width:0;border:1px solid #2b2b2b;background:#0d0d0d;color:#fff;text-decoration:none;font-family:var(--ptf)}
/* body + a: beats the Elementor kit's link colour (pink) on the tile and its text. */
body a.pt-fill,body a.pt-fill:hover,body a.pt-fill:focus{color:#fff}
.pt-fill:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.pt-fill__ico{width:clamp(34px,21cqi,62px);height:clamp(34px,21cqi,62px);display:grid;place-items:center;border-radius:50%;flex:none}
.pt-fill__ico svg{width:58%;height:58%;fill:currentColor}
.pt-fill__k{font:600 clamp(9px,4.6cqi,13px)/1.2 var(--ptf);text-transform:uppercase;letter-spacing:.12em;color:var(--pt-muted)}
.pt-fill__h{font:700 clamp(15px,8.6cqi,26px)/1.08 var(--ptf);text-transform:uppercase;text-wrap:balance}
.pt-fill__p{font:400 clamp(11px,5.4cqi,15px)/1.35 var(--ptf);color:#cfc6c0;text-wrap:balance}
.pt-fill__go{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:clamp(8px,4.2cqi,12px) clamp(12px,6.5cqi,20px);border-radius:999px;font:700 clamp(10px,5cqi,14px)/1 var(--ptf);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;max-width:100%;box-sizing:border-box}
.pt-fill__go svg{width:1.2em;height:1.2em;fill:currentColor;flex:none}
.pt-fill--ig .pt-fill__ico svg,.pt-fill--ig .pt-fill__go svg{fill:none}
.pt-fill--wa{background:radial-gradient(120% 70% at 50% 0%,rgba(37,211,102,.22),rgba(37,211,102,0) 70%),#0b0f0c;border-color:rgba(37,211,102,.35)}
.pt-fill--wa .pt-fill__ico{background:#25D366;color:#062b12}
.pt-fill--wa .pt-fill__go{background:linear-gradient(#99f2b3,#12682b);color:#fff}
.pt-fill--tg{background:radial-gradient(120% 70% at 50% 0%,rgba(34,158,217,.24),rgba(34,158,217,0) 70%),#0a0d10;border-color:rgba(34,158,217,.4)}
.pt-fill--tg .pt-fill__ico,.pt-fill--tg .pt-fill__go{background:#229ED9;color:#fff}
.pt-fill--ig{background:radial-gradient(120% 70% at 50% 0%,rgba(242,179,153,.2),rgba(242,179,153,0) 70%),#0f0c0b;border-color:rgba(242,179,153,.35)}
.pt-fill--ig .pt-fill__ico{background:var(--pt-peach);color:#111}
.pt-fill--ig .pt-fill__h{color:var(--pt-peach)}
.pt-fill--ig .pt-fill__go{border:1.5px solid var(--pt-peach);color:var(--pt-peach)}
.pt-fill--pr .pt-fill__ico{border:2px solid var(--pt-peach);color:var(--pt-peach);box-sizing:border-box}
.pt-fill--pr .pt-fill__go{border:1.5px solid rgba(255,255,255,.5);color:#fff}
/* Panel beside the "Conheça a Prisma" video ([prisma_video_panel], setup/video-panel-2026.php). Below 1025px only the buttons show, under the video. */
.pt-vpanel{font-family:var(--ptf);color:#fff}
body .pt-vpanel a.pt-cta,body .pt-vpanel a.pt-cta:hover{color:#fff}
body .pt-vpanel a.pt-vpanel__more,body .pt-vpanel a.pt-vpanel__more:hover{color:var(--pt-peach)}
body .pt-vpanel .pt-vpanel__list a,body .pt-vpanel .pt-vpanel__list a:hover{color:#fff}
@media (max-width:1024px){.pt-vpanel{margin-top:14px}}
.pt-vpanel__k,.pt-vpanel__lead,.pt-vpanel__svc,.pt-vpanel__list{display:none}
body .pt-vpanel .pt-vpanel__svc a,body .pt-vpanel .pt-vpanel__svc a:hover{color:var(--pt-peach)}
.pt-vpanel__acts{display:flex;flex-direction:column;align-items:center;gap:2px}
.pt-vpanel__more{display:inline-flex;align-items:center;color:var(--pt-peach);font:600 14px/1 var(--ptf);text-transform:uppercase;letter-spacing:.03em;padding:12px 6px;text-decoration:none}
@media (min-width:1025px){
  .e-con.pt-pvideo:has(.pt-vpanel){display:grid!important;grid-template-columns:320px minmax(0,520px);grid-template-rows:1fr auto auto 1fr;grid-template-areas:"v ." "v h" "v p" "v .";justify-content:center;column-gap:48px;row-gap:0}
  .pt-pvideo:has(.pt-vpanel)>.elementor-element{width:auto;max-width:none;margin:0}
  .pt-pvideo:has(.pt-vpanel)>.elementor-element:has(.pt-shorts){grid-area:v}
  .pt-pvideo:has(.pt-vpanel)>.pt-sec-h{grid-area:h;text-align:left}
  .pt-pvideo:has(.pt-vpanel)>.elementor-element:has(.pt-vpanel){grid-area:p}
  .pt-pvideo:has(.pt-vpanel) .pt-sec-h .elementor-heading-title{font-size:30px}
  .pt-vpanel__k{display:block;margin:10px 0 14px;font:600 12px/1 var(--ptf);text-transform:uppercase;letter-spacing:.14em;color:var(--pt-muted)}
  .pt-vpanel__lead{display:block;margin:0 0 22px;font:400 17px/1.5 var(--ptf);color:var(--pt-soft)}
  .pt-vpanel__lead:has(+.pt-vpanel__svc){margin-bottom:10px}
  .pt-vpanel__svc{display:block;margin:0 0 22px;font:400 15px/1.5 var(--ptf);color:var(--pt-soft)}
  .pt-vpanel__svc a{text-decoration:underline;text-underline-offset:3px}
  .pt-vpanel__list{display:grid;gap:10px;list-style:none;margin:0 0 24px;padding:0}
  .pt-vpanel__list li{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--pt-line);border-radius:10px;background:#0b0b0b}
  .pt-vpanel__list a{display:grid;grid-template-columns:20px 1fr;column-gap:10px;color:#fff;text-decoration:none}
  .pt-vpanel__list a:before{content:"";grid-row:span 2;width:20px;height:20px;margin-top:1px;background:var(--pt-peach);-webkit-mask:var(--pt-pin) center/contain no-repeat;mask:var(--pt-pin) center/contain no-repeat}
  .pt-vpanel__list b{font:600 16px/1.25 var(--ptf)}
  .pt-vpanel__addr{font:400 13px/1.35 var(--ptf);color:var(--pt-muted);margin-top:2px}
  .pt-vpanel .pt-vpanel__st{margin:3px 0 0;font-size:12px;letter-spacing:.02em;text-transform:none;white-space:nowrap;min-height:12px}
  .pt-vpanel__st:empty:before,.pt-vpanel__st.is-closed:before{visibility:hidden}
  .pt-vpanel__st.is-closed{color:var(--pt-muted)}
  .pt-vpanel__st.is-closed:before{width:0;margin-right:-6px}
  .pt-vpanel__acts{flex-direction:row;flex-wrap:wrap;gap:10px}
}

/* Hover-to-play cards (extra-hover-play.php, prisma.js initHoverPlay; body.pt-hoverplay pages only). The clip sits over
   the photo (under tags and scrim) and fades in once playing; "Ver perfil" rises under the location. */
.pt-card .pt-card__clip{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:0;transition:opacity .3s;pointer-events:none}
.pt-card.is-on video.pt-card__clip.is-vis{opacity:1}
.pt-card video.pt-card__clip{transition:opacity .5s}
/* AI test page (/home-video-2/): clips of other shapes (YouTube) sit near the top like the cropped AI files.
   Influencers: YouTube / Instagram / TikTok logos as same-size tiles, no background, in a column under the tag, the
   tag-to-logo gap equal to the logo-to-logo gap (owner pick C2). Languages: flags alone, stacked top right (L3), as
   rounded squares the same size as the logos (T5: real flags; Spain with a light emoji-style coat of arms); the
   filter's language chips use the same square flags at the logo-chip size.
   Filter chip: the three logos instead of "Vídeo" (F1). Every logo and flag gets the same soft shadow. */
.pt-hoverplay--ai .pt-card video.pt-card__clip{object-position:50% 15%}
.pt-hoverplay--ai .pt-card .pt-card__badges,.pt-soc{gap:5px}
.pt-soc{display:flex;flex-direction:column}
.pt-soc i,.pt-chip--soc i{display:block;flex:none;width:21px;height:21px;background-position:center;background-size:100% 100%;background-repeat:no-repeat;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(0,0,0,.35))}
.pt-soc__yt{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20width='24'%20height='24'%20rx='6'%20fill='%23FF0033'/%3E%3Cpath%20d='M9.4%207.3v9.4l7.9-4.7z'%20fill='%23fff'/%3E%3C/svg%3E")}
.pt-soc__ig{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cdefs%3E%3CradialGradient%20id='g'%20cx='30%25'%20cy='107%25'%20r='150%25'%3E%3Cstop%20offset='0'%20stop-color='%23fdf497'/%3E%3Cstop%20offset='.05'%20stop-color='%23fdf497'/%3E%3Cstop%20offset='.45'%20stop-color='%23fd5949'/%3E%3Cstop%20offset='.6'%20stop-color='%23d6249f'/%3E%3Cstop%20offset='.9'%20stop-color='%23285AEB'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect%20width='24'%20height='24'%20rx='6'%20fill='url(%23g)'/%3E%3Crect%20x='5'%20y='5'%20width='14'%20height='14'%20rx='4.2'%20fill='none'%20stroke='%23fff'%20stroke-width='1.9'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='3.3'%20fill='none'%20stroke='%23fff'%20stroke-width='1.9'/%3E%3Ccircle%20cx='16.3'%20cy='7.7'%20r='1.05'%20fill='%23fff'/%3E%3C/svg%3E")}
.pt-soc__tt{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20width='24'%20height='24'%20rx='6'%20fill='%23000'/%3E%3Crect%20x='.5'%20y='.5'%20width='23'%20height='23'%20rx='5.5'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.3'/%3E%3Cg%20transform='translate(5%204.6)%20scale(.58)'%3E%3Cpath%20d='M12.525.02c1.31-.02%202.61-.01%203.91-.02.08%201.53.63%203.09%201.75%204.17%201.12%201.11%202.7%201.62%204.24%201.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01%202.92.01%205.84-.02%208.75-.08%201.4-.54%202.79-1.35%203.94-1.31%201.92-3.58%203.17-5.91%203.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9%201.12-3.72%202.58-4.96%201.66-1.44%203.98-2.13%206.15-1.72.02%201.48-.04%202.96-.04%204.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11%201.04-1.36%201.75-.21.51-.15%201.07-.14%201.61.24%201.64%201.82%203.02%203.5%202.87%201.12-.01%202.19-.66%202.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'%20fill='%2325F4EE'%20transform='translate(-1.1%20-1.1)'/%3E%3Cpath%20d='M12.525.02c1.31-.02%202.61-.01%203.91-.02.08%201.53.63%203.09%201.75%204.17%201.12%201.11%202.7%201.62%204.24%201.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01%202.92.01%205.84-.02%208.75-.08%201.4-.54%202.79-1.35%203.94-1.31%201.92-3.58%203.17-5.91%203.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9%201.12-3.72%202.58-4.96%201.66-1.44%203.98-2.13%206.15-1.72.02%201.48-.04%202.96-.04%204.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11%201.04-1.36%201.75-.21.51-.15%201.07-.14%201.61.24%201.64%201.82%203.02%203.5%202.87%201.12-.01%202.19-.66%202.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'%20fill='%23FE2C55'%20transform='translate(1.1%201.1)'/%3E%3Cpath%20d='M12.525.02c1.31-.02%202.61-.01%203.91-.02.08%201.53.63%203.09%201.75%204.17%201.12%201.11%202.7%201.62%204.24%201.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01%202.92.01%205.84-.02%208.75-.08%201.4-.54%202.79-1.35%203.94-1.31%201.92-3.58%203.17-5.91%203.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9%201.12-3.72%202.58-4.96%201.66-1.44%203.98-2.13%206.15-1.72.02%201.48-.04%202.96-.04%204.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11%201.04-1.36%201.75-.21.51-.15%201.07-.14%201.61.24%201.64%201.82%203.02%203.5%202.87%201.12-.01%202.19-.66%202.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'%20fill='%23fff'/%3E%3C/g%3E%3C/svg%3E")}
.pt-card .pt-card__langs--flag{gap:5px}
.pt-card .pt-card__langs--flag i{display:block;width:21px;height:21px;border-radius:25%;background:var(--pt-flag) center/cover no-repeat;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.7),0 0 6px rgba(0,0,0,.35)}
.pt-card__langs--flag [data-idioma="en"],.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma="en"]{--pt-flag:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-us'%20viewBox='0%200%20512%20512'%3E%3Cpath%20fill='%23bd3d44'%20d='M0%200h512v512H0'/%3E%3Cpath%20stroke='%23fff'%20stroke-width='40'%20d='M0%2058h512M0%20137h512M0%20216h512M0%20295h512M0%20374h512M0%20453h512'/%3E%3Cpath%20fill='%23192f5d'%20d='M0%200h390v275H0z'/%3E%3Cmarker%20id='us-a'%20markerHeight='30'%20markerWidth='30'%3E%3Cpath%20fill='%23fff'%20d='m15%200%209.3%2028.6L0%2011h30L5.7%2028.6'/%3E%3C/marker%3E%3Cpath%20fill='none'%20marker-mid='url(%23us-a)'%20d='m0%200%2018%2011h65%2065%2065%2065%2066L51%2039h65%2065%2065%2065L18%2066h65%2065%2065%2065%2066L51%2094h65%2065%2065%2065L18%20121h65%2065%2065%2065%2066L51%20149h65%2065%2065%2065L18%20177h65%2065%2065%2065%2066L51%20205h65%2065%2065%2065L18%20232h65%2065%2065%2065%2066z'/%3E%3C/svg%3E")}
.pt-card__langs--flag [data-idioma="es"],.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma="es"]{--pt-flag:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='%23C60A1D'%20d='M0%200h24v24H0z'/%3E%3Cpath%20fill='%23FFC400'%20d='M0%206h24v12H0z'/%3E%3Cg%20transform='scale(.667)'%3E%3Cpath%20fill='%23EA596E'%20d='M9%2017v3c0%201.657%201.343%203%203%203s3-1.343%203-3v-3H9z'/%3E%3Cpath%20fill='%23F4A2B2'%20d='M12%2016h3v3h-3z'/%3E%3Cpath%20fill='%23DD2E44'%20d='M9%2016h3v3H9z'/%3E%3Cellipse%20fill='%23EA596E'%20cx='12'%20cy='14.5'%20rx='3'%20ry='1.5'/%3E%3Cellipse%20fill='%23FFAC33'%20cx='12'%20cy='13.75'%20rx='3'%20ry='.75'/%3E%3Cpath%20fill='%2399AAB5'%20d='M7%2016h1v7H7zm9%200h1v7h-1z'/%3E%3Cpath%20fill='%2366757F'%20d='M6%2022h3v1H6zm9%200h3v1h-3zm-8-7h1v1H7zm9%200h1v1h-1z'/%3E%3C/g%3E%3C/svg%3E")}
.pt-card__langs--flag [data-idioma="it"],.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma="it"]{--pt-flag:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-it'%20viewBox='0%200%20512%20512'%3E%3Cg%20fill-rule='evenodd'%20stroke-width='1pt'%3E%3Cpath%20fill='%23fff'%20d='M0%200h512v512H0z'/%3E%3Cpath%20fill='%23009246'%20d='M0%200h170.7v512H0z'/%3E%3Cpath%20fill='%23ce2b37'%20d='M341.3%200H512v512H341.3z'/%3E%3C/g%3E%3C/svg%3E")}
.pt-card__langs--flag [data-idioma="ja"],.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma="ja"]{--pt-flag:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-jp'%20viewBox='0%200%20512%20512'%3E%3Cdefs%3E%3CclipPath%20id='jp-a'%3E%3Cpath%20fill-opacity='.7'%20d='M177.2%200h708.6v708.7H177.2z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg%20fill-rule='evenodd'%20stroke-width='1pt'%20clip-path='url(%23jp-a)'%20transform='translate(-128)scale(.72249)'%3E%3Cpath%20fill='%23fff'%20d='M0%200h1063v708.7H0z'/%3E%3Ccircle%20cx='523.1'%20cy='344.1'%20r='194.9'%20fill='%23bc002d'%20transform='translate(-59.7%20-34.5)scale(1.1302)'/%3E%3C/g%3E%3C/svg%3E")}
.pt-card__langs--flag [data-idioma="fr"],.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma="fr"]{--pt-flag:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-fr'%20viewBox='0%200%20512%20512'%3E%3Cpath%20fill='%23fff'%20d='M0%200h512v512H0z'/%3E%3Cpath%20fill='%23000091'%20d='M0%200h170.7v512H0z'/%3E%3Cpath%20fill='%23e1000f'%20d='M341.3%200H512v512H341.3z'/%3E%3C/svg%3E")}
.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma]:before{width:15px;height:15px;border-radius:25%;box-shadow:0 0 0 1px rgba(0,0,0,.25);filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6))}
.pt-chips .pt-chip--soc{gap:4px;padding-inline:8px}
.pt-chips .pt-chip--soc i{width:15px;height:15px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6))}
@media (min-width:768px){.pt-hoverplay--ai .pt-card .pt-card__badges,.pt-soc,.pt-card .pt-card__langs--flag{gap:6px}.pt-soc i{width:25px;height:25px}.pt-card .pt-card__langs--flag i{width:25px;height:25px}.pt-chips .pt-chip--soc{gap:5px;padding-inline:12px}.pt-chips .pt-chip--soc i,.pt-hoverplay--ai .pt-chips .pt-chip[data-idioma]:before{width:17px;height:17px}}
.pt-card .pt-card__alb{transition:opacity .6s}
.pt-card.is-on .pt-card__alb.is-shown{opacity:1}
/* "Ver perfil" rises from below with the name and location gliding up. Transform + opacity only (the line's space is
   always reserved and the scrim content sits one line lower until the card is chosen): no layout or re-paint of the
   shadowed text per frame, so it stays smooth. --pt-mh = the line's height + gap. */
.pt-card--clip{--pt-ease:cubic-bezier(.22,.61,.36,1);--pt-mh:calc(12px * 1.15 + 8px)}
.pt-card .pt-card__more{display:block;margin-top:8px;opacity:0;font:600 12px/1.15 var(--ptf);letter-spacing:.06em;text-transform:uppercase;color:var(--pt-peach);transition:opacity .3s ease}
.pt-card--clip .pt-card__scrim>*{transform:translateY(var(--pt-mh));transition:transform .45s var(--pt-ease)}
.pt-card--clip.is-act .pt-card__scrim>*{transform:none}
.pt-card.is-act .pt-card__more{opacity:1;transition-delay:.08s}
.pt-card .pt-card__bar{--pt-ease:cubic-bezier(.22,.61,.36,1);position:absolute;inset:auto 0 0 0;z-index:2;height:3px;background:rgba(255,255,255,.18);opacity:0;transform:translateY(100%);transition:opacity .3s,transform .45s var(--pt-ease);pointer-events:none}
.pt-card .pt-card__bar i{display:block;width:0;height:100%;background:var(--pt-peach)}
.pt-card.is-act .pt-card__bar{opacity:1;transform:none}
@media (min-width:768px){.pt-card .pt-card__more{font-size:14px;margin-top:10px}.pt-card--clip{--pt-mh:calc(14px * 1.15 + 10px)}}
/* Album cards: 3 story lines at the top while playing (no bottom bar); the tags and language pills step down under them. */
.pt-card--alb .pt-card__bar{display:none}
.pt-card .pt-card__segs{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;gap:4px;padding:6px 6px 16px;background:linear-gradient(to bottom,rgba(0,0,0,.32),rgba(0,0,0,0));opacity:0;transition:opacity .25s;pointer-events:none}
.pt-card .pt-card__segs b{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.45);overflow:hidden;box-shadow:0 0 3px rgba(0,0,0,.7)}
.pt-card .pt-card__segs i{display:block;width:0;height:100%;background:#fff}
.pt-card--alb.is-act .pt-card__segs{opacity:1}
.pt-card--alb :is(.pt-card__badges,.pt-card__langs){transition:top .25s}
.pt-card--alb.is-act :is(.pt-card__badges,.pt-card__langs){top:16px}
@media (min-width:768px){.pt-card .pt-card__segs{padding:8px 8px 18px}.pt-card--alb.is-act :is(.pt-card__badges,.pt-card__langs){top:20px}}
