/* ExBeauty Medical Tourism — content styles.
 * Design tokens (:root vars), reset, header/nav, buttons, breadcrumb,
 * notices and footer live in the companion ExBeauty theme's style.css
 * — this stylesheet only styles the markup this plugin's shortcodes
 * generate (grids, cards, forms, profile page, pricing table, etc.)
 * and assumes the ExBeauty theme (or another stylesheet defining the
 * same --emt-* custom properties) is active. */
.emt-section{max-width:1180px;margin:0 auto;padding:48px 20px;}
.emt-section--alt{background:var(--emt-white);border-top:1px solid var(--emt-line);border-bottom:1px solid var(--emt-line);}
.emt-section__more{text-align:center;margin-top:24px;font-weight:600;}
.emt-cta-banner{text-align:center;background:var(--emt-white);border-radius:var(--emt-radius);padding:56px 24px;box-shadow:var(--emt-shadow);}

/* Homepage hero (content, not chrome — rendered by the [emt_home] shortcode) */
.emt-hero{background:linear-gradient(135deg,var(--emt-primary-dark),var(--emt-primary));color:#fff;padding:72px 20px;border-radius:var(--emt-radius);}
.emt-hero__inner{max-width:820px;margin:0 auto;text-align:center;}
.emt-hero h1{color:#fff;}
.emt-hero p{font-size:1.15rem;opacity:.92;max-width:640px;margin:0 auto 28px;}
.emt-hero__stats{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;margin:28px 0 32px;}
.emt-hero__stats div{text-align:center;}
.emt-hero__stats strong{display:block;font-size:1.7rem;font-weight:800;}
.emt-hero__stats span{font-size:.85rem;opacity:.85;}

/* Trustpilot-style search box in the homepage hero */
/* overflow:hidden clips anything that would otherwise poke out past
 * the pill shape; min-width:0 on the input is essential in a flex
 * row — without it, a flex item's default min-width:auto can refuse
 * to shrink below its content's natural width, which on a narrow
 * phone screen was pushing/clipping the "Search" button so it looked
 * like it had slid outside the rounded box. */
.emt-search-box{display:flex;gap:0;max-width:640px;margin:0 auto 8px;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--emt-shadow-lg);overflow:hidden;}
.emt-search-box input{flex:1;min-width:0;border:0;background:transparent;padding:12px 18px;font-size:16px;color:var(--emt-ink);}
.emt-search-box input:focus{outline:none;}
.emt-search-box button{border-radius:999px;white-space:nowrap;flex-shrink:0;}

/* Destination / treatment grids */
.emt-destination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;}
.emt-destination-card{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:22px;transition:.15s;box-shadow:var(--emt-shadow);}
.emt-destination-card:hover{transform:translateY(-3px);box-shadow:var(--emt-shadow-lg);text-decoration:none;}
.emt-destination-card p{color:var(--emt-muted);font-size:.9rem;margin:6px 0 12px;}
.emt-destination-card__saving{display:inline-block;background:#eaf5f2;color:var(--emt-primary-dark);font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px;}

.emt-city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:8px;}
.emt-city-card{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:18px;text-align:center;box-shadow:var(--emt-shadow);}
.emt-city-card:hover{text-decoration:none;box-shadow:var(--emt-shadow-lg);}
.emt-city-card p{color:var(--emt-muted);font-size:.85rem;margin:4px 0 0;}

.emt-treatment-grid{display:flex;flex-wrap:wrap;gap:10px;}
.emt-treatment-pill{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:999px;padding:10px 18px;font-weight:600;font-size:.9rem;color:var(--emt-ink);}
.emt-treatment-pill:hover{border-color:var(--emt-primary);color:var(--emt-primary);text-decoration:none;}
.emt-treatment-grid--cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
.emt-treatment-card{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:24px;text-align:center;box-shadow:var(--emt-shadow);}
.emt-treatment-card:hover{text-decoration:none;box-shadow:var(--emt-shadow-lg);}
.emt-treatment-card p{color:var(--emt-muted);font-size:.85rem;margin:4px 0 0;}

/* Steps */
.emt-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;}
.emt-step{background:var(--emt-white);border-radius:var(--emt-radius);padding:24px;box-shadow:var(--emt-shadow);}
.emt-step span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--emt-primary);color:#fff;font-weight:800;margin-bottom:10px;}
.emt-step p{color:var(--emt-muted);font-size:.9rem;}

/* Stat bar */
.emt-stat-bar{display:flex;gap:36px;flex-wrap:wrap;background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:20px 24px;margin-bottom:28px;box-shadow:var(--emt-shadow);}
.emt-stat-bar div{text-align:center;}
.emt-stat-bar strong{display:block;font-size:1.4rem;font-weight:800;color:var(--emt-primary-dark);}
.emt-stat-bar span{font-size:.8rem;color:var(--emt-muted);}

/* Treatment jump links + sections (city page) */
.emt-jumplinks{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px;position:sticky;top:70px;z-index:10;background:var(--emt-bg);padding:10px 0;}
.emt-jumplinks a{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600;color:var(--emt-ink);}
.emt-jumplinks a:hover{background:var(--emt-primary);border-color:var(--emt-primary);color:#fff;text-decoration:none;}
.emt-treatment-section{margin-top:36px;scroll-margin-top:90px;}
.emt-treatment-section h2{margin-top:0;}

/* Provider grid + card */
.emt-provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.emt-card{position:relative;background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);overflow:hidden;box-shadow:var(--emt-shadow);display:flex;flex-direction:column;transition:.15s;}
.emt-card:hover{box-shadow:var(--emt-shadow-lg);transform:translateY(-2px);}
.emt-card__ribbon{position:absolute;top:14px;left:0;background:var(--emt-accent);color:#fff;font-size:.72rem;font-weight:800;padding:4px 12px;border-radius:0 999px 999px 0;text-transform:uppercase;letter-spacing:.03em;z-index:2;}
.emt-card__image{display:block;height:150px;background:#e9f1ef center/cover no-repeat;position:relative;}
.emt-card__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:800;color:var(--emt-primary);}
.emt-card__body{padding:18px 18px 8px;flex:1;display:flex;flex-direction:column;}
.emt-card__type{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--emt-primary);}
.emt-card__name a{color:var(--emt-ink);}
.emt-card__location{color:var(--emt-muted);font-size:.85rem;display:flex;align-items:center;gap:5px;margin:2px 0 6px;}
.emt-card__rating{display:flex;align-items:center;gap:6px;font-size:.85rem;margin:0 0 8px;}
.emt-card__tagline{font-size:.88rem;color:var(--emt-muted);margin:0 0 10px;}
.emt-card__badges{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.emt-card__badges li{display:flex;align-items:center;gap:4px;background:#eaf5f2;color:var(--emt-primary-dark);font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;}
.emt-card__cta{display:block;text-align:center;padding:12px 18px;background:var(--emt-bg);border-top:1px solid var(--emt-line);font-weight:700;font-size:.88rem;color:var(--emt-primary-dark);}
.emt-card__cta:hover{background:var(--emt-primary);color:#fff;text-decoration:none;}
.emt-tier-featured1{border-color:var(--emt-accent);}
.emt-tier-featured1 .emt-card__ribbon{background:linear-gradient(135deg,#f2a742,#e8873a);}

.emt-empty{background:var(--emt-white);border:1px dashed var(--emt-line);border-radius:var(--emt-radius);padding:32px;text-align:center;color:var(--emt-muted);}

/* Provider profile page */
.emt-profile{display:grid;grid-template-columns:2fr 1fr;grid-template-areas:"media media" "gallery gallery" "main sidebar";gap:28px;margin-top:12px;}
.emt-profile__media{grid-area:media;height:280px;border-radius:var(--emt-radius);background:#e9f1ef center/cover no-repeat;position:relative;}
.emt-profile__gallery{grid-area:gallery;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.emt-profile__gallery img{width:100%;height:80px;object-fit:cover;border-radius:8px;}
.emt-profile__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:800;color:var(--emt-primary);}
.emt-profile__verified-badge{position:absolute;bottom:14px;left:14px;background:rgba(15,38,34,.85);color:#fff;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:999px;display:flex;align-items:center;gap:5px;}
.emt-profile__main{grid-area:main;}
.emt-profile__sidebar{grid-area:sidebar;}
.emt-steps--compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.emt-faq{margin-bottom:8px;}
.emt-faq details{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:10px;padding:14px 16px;margin-bottom:8px;}
.emt-faq summary{font-weight:700;cursor:pointer;}
.emt-faq p{margin:10px 0 0;color:var(--emt-muted);font-size:.9rem;}
.emt-profile__meta{color:var(--emt-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.emt-profile__tagline{font-size:1.1rem;color:var(--emt-ink);}
.emt-profile__badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;}
.emt-profile__badges li{background:#eaf5f2;color:var(--emt-primary-dark);font-weight:700;font-size:.8rem;padding:5px 12px;border-radius:999px;display:flex;align-items:center;gap:4px;}
.emt-profile__treatments{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;}
.emt-profile__treatments li a{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600;color:var(--emt-ink);}
.emt-profile__contact{list-style:none;padding:0;}
.emt-profile__contact li{margin-bottom:8px;display:flex;align-items:center;gap:8px;}

.emt-review-card{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:18px;margin-bottom:14px;}
.emt-review-card__head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.emt-review-card__verified{font-size:.75rem;font-weight:700;color:var(--emt-primary-dark);display:flex;align-items:center;gap:4px;}
.emt-review-card__body{margin:0 0 8px;}
.emt-review-card__meta{font-size:.8rem;color:var(--emt-muted);margin:0;}

/* Forms */
.emt-form{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:24px;box-shadow:var(--emt-shadow);}
.emt-form label{display:block;font-weight:600;font-size:.88rem;margin-bottom:14px;}
/* font-size is 16px (not e.g. .95rem/~15px) deliberately — anything
 * smaller makes iOS Safari and some Android browsers auto-zoom the
 * whole page when a visitor taps into the field, which then has to
 * be manually pinched back out. 16px is the documented safe minimum. */
.emt-form input,.emt-form select,.emt-form textarea{width:100%;padding:10px 12px;border:1px solid var(--emt-line);border-radius:8px;font-size:16px;margin-top:5px;font-family:inherit;}
.emt-form__intro{color:var(--emt-muted);font-size:.9rem;margin-top:0;}
.emt-form__note{font-size:.78rem;color:var(--emt-muted);}
.emt-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin-bottom:16px;}
.emt-checkbox{display:flex;align-items:center;gap:6px;font-weight:500;font-size:.85rem;}
.emt-checkbox input{width:auto;margin:0;}

.emt-contact{max-width:640px;}
.emt-contact__intro p{color:var(--emt-muted);}

/* Pricing */
.emt-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:32px;}
.emt-pricing-card{background:var(--emt-white);border:1px solid var(--emt-line);border-radius:var(--emt-radius);padding:24px;text-align:center;box-shadow:var(--emt-shadow);}
.emt-pricing-card__price{font-size:2rem;font-weight:800;color:var(--emt-primary-dark);margin:8px 0;}
.emt-pricing-card__price span{font-size:.9rem;font-weight:600;color:var(--emt-muted);}
.emt-pricing-card__blurb{color:var(--emt-muted);font-size:.85rem;min-height:60px;}
.emt-pricing-card__durations{font-size:.78rem;color:var(--emt-muted);margin-bottom:16px;}
.emt-pricing-card--featured1{border-color:var(--emt-accent);transform:scale(1.03);}
.emt-checkout-total{font-weight:700;font-size:1.1rem;margin:16px 0;}

/* Footer's destination/treatment link lists reuse plain <ul>/<li> — no
 * plugin-specific styling needed; layout and colour come from the
 * ExBeauty theme's .emt-footer rules. */

@media (max-width:900px){
	.emt-profile{grid-template-columns:1fr;grid-template-areas:"media" "gallery" "main" "sidebar";}
	.emt-profile__gallery{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:480px){
	.emt-search-box button{padding:12px 16px;}
}
