/* ── RESET & VARS ─────────────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0;}

:root, [data-theme="dark"] {
  --dark:#092c37; --gold:#dfb969; --bg:#f4f1eb; --white:#ffffff; --text:#f4f1eb; --muted:#6b7280; --border:#e5e0d6; --card:#0e3742;
  --radius:14px; --shadow:0 4px 24px rgba(9,44,55,.1); --shadow-lg:0 12px 40px rgba(9,44,55,.18);
  --header-bg:#092c37; --page-bg:#092c37; --section-bg:#092c37; --card-bg:#0e3742;
  --text-primary:#f4f1eb; --text-secondary:rgba(255,255,255,0.6); --text-muted:rgba(255,255,255,0.4);
  --input-bg:rgba(255,255,255,.1); --input-color:#fff; --pill-bg:rgba(255,255,255,.08); --pill-border:rgba(255,255,255,.15);
  --sidebar-bg:#0e3742; --sidebar-text:#f4f1eb; --filter-select-bg:#fff; --filter-select-color:#333;
  --modal-bg:#fff; --modal-text:var(--dark); --footer-bg:#0e3742; --profile-hero-bg:#0e3742;
  --tab-color:#f4f1eb; --tab-border:#1a5568; --price-table-head:#f4f1eb; --price-table-head-text:var(--dark);
  --price-table-even:var(--dark); --date-btn-bg:#f4f1eb; --date-btn-color:var(--dark);
  --time-btn-bg:#fff; --time-btn-color:#333; --review-card-bg:#f4f1eb; --review-card-text:var(--dark);
  --hero-bg:linear-gradient(140deg,var(--dark) 0%,#0d3d4d 60%,#1a5568 100%);
  --subcat-hero-bg:linear-gradient(140deg,var(--dark) 0%,#0d3d4d 55%,#1a5568 100%);
  --booking-sum-bg:#f9f6f1; --booking-sum-color:var(--dark);
}

[data-theme="light"] {
  --dark:#f0f4f8; --gold:#c49a28; --bg:#1a2e3a; --white:#ffffff; --text:#1a2e3a; --muted:#6b7280; --border:#d1dde6; --card:#ffffff;
  --radius:14px; --shadow:0 4px 24px rgba(0,0,0,.08); --shadow-lg:0 12px 40px rgba(0,0,0,.14);
  --header-bg:#ffffff; --page-bg:#f0f4f8; --section-bg:#f0f4f8; --card-bg:rgba(255,255,255,.45);
  --text-primary:#1a2e3a; --text-secondary:#4a6070; --text-muted:#8a9baa;
  --input-bg:rgba(26,46,58,.08); --input-color:#1a2e3a; --pill-bg:rgba(26,46,58,.07); --pill-border:rgba(26,46,58,.18);
  --sidebar-bg:#ffffff; --sidebar-text:#1a2e3a; --filter-select-bg:#f0f4f8; --filter-select-color:#1a2e3a;
  --modal-bg:#fff; --modal-text:#1a2e3a; --footer-bg:#1a2e3a; --profile-hero-bg:#ffffff;
  --tab-color:#1a2e3a; --tab-border:#d1dde6; --price-table-head:#1a2e3a; --price-table-head-text:#f0f4f8;
  --price-table-even:#f8fafc; --date-btn-bg:#f0f4f8; --date-btn-color:#1a2e3a;
  --time-btn-bg:#f0f4f8; --time-btn-color:#1a2e3a; --review-card-bg:#f0f4f8; --review-card-text:#1a2e3a;
  --hero-bg:linear-gradient(140deg,#1a2e3a 0%,#1e4560 60%,#1a6080 100%);
  --subcat-hero-bg:linear-gradient(140deg,#1a2e3a 0%,#1e4560 55%,#1a6080 100%);
  --booking-sum-bg:#f0f4f8; --booking-sum-color:#1a2e3a;
}

html{scroll-behavior:smooth;}
body{font-family:'DM Sans', sans-serif;background:var(--page-bg);color:var(--text-primary);min-height:100vh;transition:background .3s,color .3s;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font-family:'DM Sans', sans-serif;cursor:pointer;}
img{display:block;max-width:100%;height:auto;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}

.hidden{display:none!important;}
.fade-in{animation:fadeUp .4s ease both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* ── HEADER ───────────────────────────────────────────────────────────── */
#header{
  background:var(--header-bg);
  position:sticky;top:0;z-index:100;
  box-shadow:0 2px 20px rgba(0,0,0,.15);
  transition:background .3s;
}
.header-inner{
  max-width:1280px;margin:0 auto;
  padding:0 16px;
  display:flex;align-items:center;gap:10px;
  height:68px;
}
#logo-text{
  font-size:32px;font-weight:900;
  color:var(--gold);letter-spacing:-1px;
  flex-shrink:0;cursor:pointer;
}
#logo-text img{width:110px;height:auto;}

[data-theme="dark"] .logo-light-version{display:none;}
[data-theme="light"] .logo-dark-version{display:none;}

.search-wrap{flex:1;min-width:0;position:relative;}
.search-wrap input{
  width:100%;padding:10px 40px 10px 16px;
  border-radius:30px;border:none;
  background:var(--input-bg);
  color:var(--input-color);font-size:14px;outline:none;
  transition:background .3s;
}
[data-theme="light"] .search-wrap input::placeholder{color:rgba(26,46,58,.45);}
[data-theme="dark"] .search-wrap input::placeholder{color:rgba(255,255,255,.45);}
.search-wrap input:focus{background:var(--input-bg);filter:brightness(1.1);}
.search-btn{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--gold);font-size:18px;line-height:1;
}

/* Mobile search toggle */
.mobile-search-btn{
  display:none;background:var(--pill-bg);border:none;color:var(--gold);
  width:38px;height:38px;border-radius:10px;
  align-items:center;justify-content:center;font-size:16px;flex-shrink:0;
}

.mobile-search-wrap{
  display:none;position:absolute;top:68px;left:0;right:0;
  background:var(--header-bg);padding:10px 16px;z-index:99;
  box-shadow:0 4px 20px rgba(0,0,0,.2);
  transition:top .2s;
}
.mobile-search-wrap.open{display:block;}
.mobile-search-wrap input{
  width:100%;padding:11px 44px 11px 16px;
  border-radius:30px;border:none;
  background:var(--input-bg);color:var(--input-color);font-size:14px;outline:none;
}
.mobile-search-wrap .search-btn{right:12px;}

.action-pill{
  display:flex;align-items:center;
  background:var(--input-bg);
  border-radius:30px;overflow:hidden;
  flex-shrink:0;
}
.loc-btn{
  padding:8px 12px;background:none;border:none;
  color:var(--input-color);font-size:14px;display:flex;align-items:center;gap:5px;
  white-space:nowrap;
}
/* Εφέ δόνησης (shake) για άδειο πεδίο */
.shake-error {
  animation: shake 0.4s cubic-bezier(.36,.07,.19,.97) both;
  border-color: #ff4d4d !important;
}

@keyframes shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
  40%, 60% { transform: translate3d(4px, 0, 0); }
}
.pill-divider{width:1px;height:20px;background:var(--pill-border);}
.lang-toggle{
  margin:4px 8px;width:58px;height:28px;
  border-radius:20px;position:relative;
  cursor:pointer;transition:background .3s;border:none;
  display:flex;align-items:center;
}
.lang-knob{
  position:absolute;width:24px;height:24px;border-radius:50%;
  background:#fff;transition:left .25s;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:800;color:#092c37;
}

.icon-btn-wrap{position:relative;}
.icon-btn{
  background:var(--dark);border-color:transparent;color:var(--gold);
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  transition:all .2s;padding:0;
}
.tooltip{
  position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--header-bg);color:var(--text-primary);padding:5px 10px;
  border-radius:7px;white-space:nowrap;font-size:12px;
  border:1px solid var(--gold);pointer-events:none;
  opacity:0;transition:opacity .2s;z-index:10;
}
.icon-btn-wrap:hover .tooltip{opacity:1;}

.theme-toggle-btn{
  background:none;border-color:transparent;color:var(--gold);
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  transition:all .2s;flex-shrink:0;cursor:pointer;
}

.btn-gold{
  background:linear-gradient(135deg,var(--gold),var(--gold));
  color:#092c37;border:none;
  padding:9px 16px;border-radius:9px;
  font-size:12px;font-weight:700;letter-spacing:.4px;
  transition:all .2s;white-space:nowrap;
}
.btn-gold:hover{filter:brightness(1.1);transform:translateY(-1px);}
.btn-outline{
  background:transparent;color:var(--text-primary);
  border:1.5px solid var(--pill-border);
  padding:9px 16px;border-radius:9px;
  font-size:12px;font-weight:600;
  transition:all .2s;white-space:nowrap;
}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

/* Header action group (icon buttons + auth buttons) */
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.header-icons{display:flex;align-items:center;gap:6px;}

/* ── PAGES ────────────────────────────────────────────────────────────── */
.page{display:none;}
.page.active{display:block;}

/* ── HERO ─────────────────────────────────────────────────────────────── */
#hero{
  background:var(--hero-bg);
  padding:50px 20px 46px;text-align:center;position:relative;overflow:hidden;
}
#hero::before,#hero::after{
  content:'';position:absolute;border-radius:50%;
  background:rgba(209,171,72,.06);pointer-events:none;
}
#hero::before{width:400px;height:400px;top:-100px;right:-80px;}
#hero::after{width:500px;height:500px;bottom:-150px;left:-120px;}
#hero h1{font-size:clamp(26px,5vw,60px);color:#fff;font-weight:900;line-height:1.1;margin-bottom:14px;}
#hero h1 span{color:var(--gold);}
#hero p{color:rgba(255,255,255,.65);font-size:clamp(15px,2.5vw,18px);max-width:500px;margin:0 auto;}

/* ── CATEGORIES ───────────────────────────────────────────────────────── */
#categories-section{max-width:1280px;margin:0 auto;padding:30px 16px 46px;scroll-margin-top: 60px;}
.section-title{font-size:clamp(22px,3vw,30px);color:var(--text-primary);margin-bottom:28px;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 160px),1fr));gap:clamp(10px, 2vw, 14px);}
.cat-card{
  background:var(--card-bg);border-radius:var(--radius);
  padding:24px 16px;cursor:pointer;text-align:center;
  transition:all .25s;border:1px solid var(--tab-border);
}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.cat-name{font-weight:700;font-size:14px;color:var(--text-primary);line-height:1.35;}
.icon-square{
  background-color:var(--gold);border-radius:14px;
  width:54px;height:54px;
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.icon-square i{color:#092c37;font-size:22px;}

/* ── STORIES ──────────────────────────────────────────────────────────── */
.stories-inner{max-width:1230px;margin:0 auto;padding:0 16px 36px;}
.stories-label{font-size:clamp(22px,3vw,30px);color:var(--text-primary);margin-bottom:28px;}
.stories-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.stories-scroll::-webkit-scrollbar{height:0;display:none;}
.story-item{display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;flex-shrink:0;}
.story-ring{width:80px;height:80px;border-radius:50%;border:2.5px solid var(--gold);padding:2px;transition:transform .2s;}
.story-item:hover .story-ring{transform:scale(1.04);}
.story-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.story-name{font-size:13px;color:var(--text-primary);max-width:68px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── TOP PROPOSALS ────────────────────────────────────────────────────── */
#proposals-section{padding:36px 16px;background-color:var(--card-bg);}
.proposals-inner{max-width:1230px;margin:0 auto;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;}
.see-all{color:var(--gold);font-weight:700;font-size:14px;background:none;border:none;text-decoration:underline;}
.prof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 220px),1fr));gap:clamp(12px, 2.5vw, 18px);}

/* ── PROF CARD ────────────────────────────────────────────────────────── */
.prof-card{
  background:var(--dark);border-radius:var(--radius);
  overflow:hidden;cursor:pointer;border:1px solid var(--tab-border);
  transition:transform .25s,box-shadow .25s;
}
.prof-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.prof-img-wrap{position:relative;height:165px;}
.prof-img-wrap img{width:100%;height:100%;object-fit:cover;}
.verified-badge{
  position:absolute;top:10px;right:10px;
  background:var(--header-bg);color:var(--gold);
  border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700;
}
.prof-body{padding:14px 16px 16px;}
.prof-name{font-weight:700;font-size:14px;color:var(--text-primary);margin-bottom:2px;}
.prof-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px;}
.prof-meta{display:flex;align-items:center;gap:5px;margin-bottom:8px;}
.rating-num{font-size:12px;font-weight:700;color:var(--text-primary);}
.reviews-cnt{font-size:11px;color:var(--text-muted);}
.distance{margin-left:auto;font-size:11px;color:var(--text-muted);}
.prof-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.price-from{font-size:13px;color:var(--text-muted);}
.price-from strong{color:var(--text-primary);font-size:16px;}
.book-btn{
  background:linear-gradient(135deg,var(--gold),var(--gold));
  color:#092c37;padding:7px 13px;border-radius:8px;font-size:12px;font-weight:700;border:none;
}

/* ── PRO BANNER ───────────────────────────────────────────────────────── */
#pro-banner{background:var(--hero-bg);padding:56px 20px;text-align:center;}
#pro-banner h2{font-size:clamp(20px,3vw,36px);color:#fff;margin-bottom:12px;}
#pro-banner p{color:rgba(255,255,255,.6);font-size:clamp(14px,2vw,16px);margin-bottom:28px;}
#pro-banner .btn-gold{padding:13px 36px;font-size:15px;border-radius:10px;}

/* ══ SUBCATEGORY PAGE ════════════════════════════════════════════════════ */
#subcat-page-div{background:var(--page-bg);min-height:100vh;}
.subcat-hero{position:relative;overflow:hidden;padding:44px 20px 42px;background:var(--subcat-hero-bg);}
.subcat-hero::before{content:'';position:absolute;inset:0;background:rgba(209,171,72,.04);pointer-events:none;}
.subcat-hero-inner{max-width:1220px;margin:0 auto;position:relative;}
.subcat-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:22px;font-size:14px;}
.subcat-back{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  border-radius:8px;color:var(--gold);padding:6px 14px;font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:5px;transition:all .2s;
}
.subcat-back:hover{background:rgba(255,255,255,.14);}
.subcat-breadcrumb-sep{color:rgba(255,255,255,.3);}
.subcat-breadcrumb-current{color:rgba(255,255,255,.6);font-size:13px;}
.subcat-hero-content{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
.subcat-hero-icon{width:64px;height:64px;border-radius:16px;background:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.subcat-hero-icon i{font-size:26px;color:#092c37;}
.subcat-hero-title{font-size:clamp(22px,4vw,44px);font-weight:900;color:#fff;line-height:1.1;}
.subcat-hero-subtitle{font-size:15px;color:rgba(255,255,255,.6);margin-top:8px;max-width:560px;line-height:1.6;}
.subcat-grid-section{max-width:1280px;margin:0 auto;padding:32px 20px 60px;}
.subcat-grid-title{
  font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:22px;
  display:flex;align-items:center;gap:10px;
}
.subcat-grid-title::after{content:'';flex:1;height:1px;background:var(--tab-border);}
.subcat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 150px),1fr));gap:clamp(10px, 2vw, 14px);}
.subcat-card{
  background:var(--card-bg);border-radius:var(--radius);padding:24px 16px;cursor:pointer;
  text-align:center;transition:all .25s;border:1px solid var(--tab-border);
}
.subcat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.subcat-card-icon{
  width:48px;height:48px;border-radius:13px;background:var(--gold);
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
}
.subcat-card-icon i{font-size:20px;color:#092c37;}
.subcat-card-name{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:5px;line-height:1.3;}
.subcat-card-count{font-size:12px;color:var(--text-muted);}
.subcat-cta{
  background:rgba(209,171,72,.08);border:1px solid rgba(209,171,72,.2);border-radius:16px;
  padding:24px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:16px;
}
.subcat-cta-text h3{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px;}
.subcat-cta-text p{font-size:13px;color:var(--text-secondary);}
.subcat-cta .btn-gold{padding:11px 22px;font-size:13px;}

/* ── SEARCH PAGE ──────────────────────────────────────────────────────── */
#search-page{max-width:1280px;margin:0 auto;padding:24px 16px;}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:14px;flex-wrap:wrap;}
.back-btn{background:none;border:none;color:var(--gold);display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;}
.search-layout{display:flex;gap:22px;}
#sidebar{width:260px;flex-shrink:0;transition:width .3s,opacity .3s;}
#sidebar.closed{width:0;opacity:0;overflow:hidden;padding:0;}
.sidebar-box{
  background:var(--sidebar-bg);border-radius:var(--radius);padding:20px 16px;
  position:sticky;top:88px;border:1px solid var(--tab-border);
}
.filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.filter-title{font-size:17px;color:var(--sidebar-text);}
.close-sidebar{background:none;border:none;font-size:20px;color:var(--text-muted);}
.filter-section{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--tab-border);}
.filter-label{font-size:11px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--sidebar-text);margin-bottom:8px;}
.filter-section select{
  width:100%;padding:9px 12px;border-radius:8px;font-size:13px;
  color:var(--filter-select-color);outline:none;background:var(--filter-select-bg);
  border:1px solid var(--tab-border);
}
.check-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer;font-size:13px;color:var(--sidebar-text);}
.check-row input{accent-color:var(--gold);width:15px;height:15px;}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--tab-border);border-radius:2px;outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-top:5px;}
.star-btns{display:flex;gap:5px;}
.star-btn{
  width:34px;height:34px;background:var(--card-bg);border-color:transparent;border-radius:10px;
  font-size:15px;transition:all .2s;cursor:pointer;color:var(--text-muted);
}
.star-btn.active{border-color:var(--gold);background:rgba(209,171,72,.12);color:var(--gold);}
.results-area{flex:1;min-width:0;}
.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.open-filters-btn{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--tab-border);border-radius:8px;padding:8px 16px;font-size:13px;}
.results-count{font-size:13px;color:var(--text-primary);}
.no-results{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:18px;}
.reset-filters-btn{
  width:100%;margin-top:4px;padding:9px;border-radius:8px;
  background:transparent;border:1.5px solid var(--gold);color:var(--gold);
  font-size:12px;font-weight:700;letter-spacing:.4px;transition:all .2s;
}
.reset-filters-btn:hover{background:rgba(223,185,105,.12);}

/* Mobile filter drawer */
.filter-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150;
}
.filter-overlay.open{display:block;}
.filter-drawer{
  position:fixed;left:0;top:0;bottom:0;width:min(320px,90vw);
  background:var(--sidebar-bg);z-index:151;overflow-y:auto;
  transform:translateX(-100%);transition:transform .3s;padding:20px 16px;
}
.filter-drawer.open{transform:translateX(0);}
.filter-drawer .filter-head{margin-bottom:16px;}
.filter-drawer .filter-section{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--tab-border);}

/* ── PROFILE PAGE ─────────────────────────────────────────────────────── */
#profile-page{max-width:1100px;margin:0 auto;padding:24px 16px 60px;}
.profile-hero{background:var(--profile-hero-bg);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:22px;border:1px solid var(--tab-border);}
.profile-cover{height:180px;position:relative;overflow:hidden;margin-bottom:50px;}
.profile-cover img{width:100%;height:100%;object-fit:cover;}
.profile-cover-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,44,55,.65),transparent);}
.profile-info{padding:0 24px 24px;position:relative;}
.avatar-row{display:flex;align-items:flex-end;gap:14px;margin-top:-36px;margin-bottom:14px;flex-wrap:wrap;}
.avatar-row img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:4px solid var(--card-bg);box-shadow:0 4px 14px rgba(0,0,0,.2);flex-shrink:0;}
.profile-name-block h2{font-size:clamp(18px,3vw,24px);color:var(--text-primary);}
.profile-name-block .badge{display:inline-block;background:var(--gold);color:#092c37;border-radius:20px;padding:2px 10px;font-size:10px;font-weight:800;margin-left:8px;}
.profile-name-block .subtitle{font-size:13px;color:var(--text-secondary);margin-top:3px;}
.profile-stats{display:flex;gap:20px;flex-wrap:wrap; text-align: center;}
.stat-item .stat-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;}
.stat-item .stat-val{font-size:14px;font-weight:700;color:var(--text-primary);margin-top:2px;}
.stat-item.highlight .stat-val{color:var(--gold);font-size:14px;}
.tabs-wrap{background:var(--card-bg);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--tab-border);}
.tabs-nav{display:flex;border-bottom:1px solid var(--tab-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.tabs-nav::-webkit-scrollbar{height:0;display:none;}
.tab-btn{padding:14px 18px;background:none;border:none;color:var(--tab-color);border-bottom:2px solid transparent;white-space:nowrap;transition:all .2s;cursor:pointer;font-weight:500;font-size:14px;}
.tab-btn.active{color:var(--gold);font-weight:700;border-bottom-color:var(--gold);}
.tab-content{padding:24px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeUp .3s ease;}
.bio-text{font-size:14px;line-height:1.85;color:var(--text-primary);max-width:700px;}
.bio-meta{margin-top:10px;font-size:13px;color:var(--text-secondary);}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 120px),1fr));gap:10px;}
.gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;}
.reviews-list{display:flex;flex-direction:column;gap:16px;max-width:700px;}
.review-card{background:var(--card);border-radius:12px;padding:16px 18px;border:1px solid var(--tab-border);}
.review-top{display:flex;justify-content:space-between;margin-bottom:8px;}
.reviewer{font-weight:700;font-size:14px;color:var(--bg);}
.review-text{font-size:14px;color:var(--bg);line-height:1.65;}
.price-table{width:100%;border-collapse:collapse;font-size:14px;}
.price-table thead tr{background:var(--bg);color:var(--price-table-head-text);}
.price-table th{padding:12px 14px;text-align:left;font-weight:600;}
.price-table th:last-child{text-align:right;}
.price-table td{padding:13px 14px;border-bottom:1px solid var(--tab-border);color:var(--text-primary);}
.price-table td:last-child{text-align:right;font-weight:800;color:var(--gold);font-size:15px;}
.price-table tbody tr:nth-child(even){background:var(--price-table-even);}
.booking-label{font-size:17px;color:var(--text-primary);margin-bottom:14px;}
.dates-scroll{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;color:var(--dark);}
.date-btn{
  padding:10px 12px;background:var(--date-btn-bg);cursor:pointer;font-size:13px;text-align:center;
  transition:all .2s;min-width:50px;border-radius:10px;border:1px solid var(--tab-border);color:var(--date-btn-color);
}
.date-btn .wd{font-size:10px;text-transform:uppercase;opacity:.7;margin-bottom:2px;}
.date-btn:hover,.date-btn.sel{background:rgba(209,171,72,.15);color:var(--text-primary);font-weight:700;border-color:var(--gold);}
.times-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.time-btn{padding:10px 16px;border-radius:10px;background:var(--time-btn-bg);cursor:pointer;font-size:14px;transition:all .2s;color:var(--time-btn-color);border:1px solid var(--tab-border);}
.time-btn:hover,.time-btn.sel{background:rgba(209,171,72,.15);color:var(--text-primary);font-weight:700;border-color:var(--gold);}
.booking-summary{background:var(--booking-sum-bg);border-radius:12px;padding:18px;max-width:380px;margin-bottom:20px;display:none;}
.booking-summary .sum-date{font-size:17px;color:var(--gold);font-weight:700;margin-top:4px;}
.booking-summary .sum-price{color:var(--gold);font-weight:700;font-size:14px;margin-top:4px;}
.service-select-wrap{margin-bottom:20px;}
.service-select-label{font-size:17px;color:var(--text-primary);margin-bottom:12px;}
.service-options{display:flex;gap:10px;flex-wrap:wrap;}
.service-opt-btn{
  padding:10px 16px;border-radius:10px;background:var(--time-btn-bg);
  cursor:pointer;font-size:14px;transition:all .2s;color:var(--time-btn-color);
  border:1px solid var(--tab-border);
}
.service-opt-btn:hover,.service-opt-btn.sel{background:rgba(209,171,72,.15);color:var(--text-primary);font-weight:700;border-color:var(--gold);}

/* ── FOOTER PAGES ─────────────────────────────────────────────────────── */
.footer-page{background:var(--page-bg);min-height:100vh;padding:50px 20px;}
.footer-page-inner{max-width:800px;margin:0 auto;text-align: center;}
.footer-page h1{font-size:clamp(24px,4vw,44px);color:var(--text-primary);font-weight:900;margin-bottom:8px;}
.footer-page .back-link{color:var(--gold);font-weight:700;background:none;border:none;font-size:14px;margin-bottom:24px;display:inline-flex;align-items:center;gap:5px;}
.footer-page-content{color:var(--text-secondary);line-height:1.8;font-size:15px;}
.footer-page-content h2{color:var(--text-primary);font-size:19px;font-weight:700;margin:24px 0 10px;}
.footer-page-content p{margin-bottom:14px;}
.footer-page-content ul{margin-left:20px;margin-bottom:14px;}

/* ── FOOTER ───────────────────────────────────────────────────────────── */
#footer{background:var(--footer-bg);color:rgba(255,255,255,.65);padding:40px 20px 22px;}
.footer-inner{max-width:1280px;margin:0 auto;}
.footer-top{display:flex;gap:36px;flex-wrap:wrap;justify-content:space-between;margin-bottom:28px;}
.footer-brand-name{font-size:26px;font-weight:900;color:var(--gold);}
.footer-logo{filter:brightness(0) invert(1);}
[data-theme="light"] .footer-logo{filter:brightness(0) invert(1);}
.footer-tagline{margin-top:8px;font-size:13px;max-width:220px;line-height:1.75;}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center;}
.footer-links a{font-size:13px;transition:color .2s;cursor:pointer;}
.footer-links a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;}
.footer-bottom span:last-child{color:var(--gold);}

/* ── MODALS ───────────────────────────────────────────────────────────── */
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);
  z-index:200;display:none;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);padding:16px;
}
.overlay.open{display:flex;}
.modal{
  background:var(--modal-bg);border-radius:20px;
  max-width:460px;width:100%;padding:36px 28px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);animation:fadeUp .3s ease;
  max-height:90vh;overflow-y:auto;
}
.modal-icon{font-size:40px;text-align:center;margin-bottom:12px;}
.modal-title{color:var(--modal-text);text-align:center;font-size:21px;margin-bottom:8px;}
.modal-sub{color:#888;text-align:center;font-size:14px;margin-bottom:22px;line-height:1.6;}
.modal-input{
  width:100%;padding:12px 15px;border-radius:10px;font-size:15px;
  outline:none;margin-bottom:16px;transition:border .2s;
  background:#f5f5f5;color:#333;border:1.5px solid #ddd;
}
.modal-input:focus{border-color:var(--gold);}
.modal-btns{display:flex;gap:10px;}
.modal-btns .btn-cancel{flex:1;padding:12px;border-radius:10px;border:1.5px solid #ddd;background:#fff;color:#666;font-size:14px;}
.modal-btns .btn-gold{flex:2;padding:12px;border-radius:10px;font-size:14px;}
.city-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.city-pill{
  padding:6px 14px;border-radius:20px;border:1.5px solid #ddd;
  background:#f5f5f5;color:#444;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;
}
.city-pill:hover,.city-pill.active{border-color:var(--gold);background:rgba(209,171,72,.12);color:#333;}

/* STORY MODAL */
.story-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.18);border:none;color:#fff;
  font-size:28px;width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  z-index:2;cursor:pointer;transition:background .2s;
}
.story-nav:hover{background:rgba(255,255,255,.32);}
#story-prev{left:4%;}
#story-next{right:4%;}
.story-modal-img{width:100%;aspect-ratio:9/16;object-fit:cover;}
.story-bars{position:absolute;top:12px;left:12px;right:50px;display:flex;gap:4px;}
.story-bar{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);}
.story-bar.done{background:var(--gold);}
.story-close-btn{
  position:absolute;top:12px;right:12px;background:rgba(0,0,0,.5);border:none;color:#fff;
  font-size:22px;width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;
}
.story-caption{position:absolute;bottom:0;left:0;right:0;padding:36px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;}
.story-cap-prof{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.story-cap-prof img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.story-cap-prof strong{font-size:14px;}
.story-cap-text{font-size:15px;}

/* BOOKING MODAL */
#booking-modal .modal,#booking-modal2 .modal{
  max-width:640px;padding:0;overflow:hidden;
}
.booking-modal-header,.booking-modal2-header{
  padding:16px 20px;background:var(--header-bg);
  display:flex;justify-content:space-between;align-items:center;
}
.booking-modal-header span,.booking-modal2-header span{color:var(--gold);font-size:16px;font-weight:700;}
.booking-modal-header button,.booking-modal2-header button{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;}
.booking-modal-body,.booking-modal2-body{max-height:80vh;overflow:auto;}

/* ── MOBILE BOTTOM NAV ────────────────────────────────────────────────── */
.mobile-bottom-nav{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:90;
  background:var(--header-bg);border-top:1px solid var(--tab-border);
  padding:4px 0 env(safe-area-inset-bottom, 4px);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.mobile-bottom-nav .nav-items{
  display:flex;justify-content:space-around;align-items:center;
}
.mobile-bottom-nav .nav-item{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  background:none;border:none;color:var(--text-muted);font-size:10px;
  padding:6px 12px;cursor:pointer;transition:color .2s;
  font-family:'DM Sans', sans-serif;
}
.mobile-bottom-nav .nav-item.active,.mobile-bottom-nav .nav-item:hover{color:var(--gold);}
.mobile-bottom-nav .nav-item i{font-size:19px;}

/* Body padding for mobile nav */
@media(max-width:768px){
  body{padding-bottom:70px;}
  .mobile-bottom-nav{display:block;}
}


/* ── PRICING PAGE ─────────────────────────────────────────────────────── */
.pros-page-inner{max-width:1100px;margin:0 auto;}
.pros-hero-text{margin-bottom:48px;}
.pros-hero-text p{font-size:16px;color:var(--text-secondary);margin-top:10px;max-width:560px;line-height:1.7;}
 
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-bottom:56px;
  align-items:start;
}
 
.plan-card{
  background:var(--card-bg);
  border:1px solid var(--tab-border);
  border-radius:20px;
  padding:28px 24px 32px;
  position:relative;
  transition:transform .25s,box-shadow .25s;
}
.plan-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.25);}
 
/* Pro card — highlighted */
.plan-card.featured{
  border:2px solid var(--gold);
  background:var(--card-bg);
  transform:translateY(-6px);
}
.plan-card.featured:hover{transform:translateY(-10px);}
 
.plan-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#092c37;
  font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  padding:4px 16px;border-radius:20px;white-space:nowrap;
}
 
.plan-name{
  font-size:14px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  color:var(--text-muted);margin-bottom:10px;
}
.plan-price{
  display:flex;align-items:baseline;gap:4px;margin-bottom:6px;
}
.plan-price .amount{font-size:38px;font-weight:900;color:var(--text-primary);line-height:1;}
.plan-price .currency{font-size:18px;font-weight:700;color:var(--text-primary);align-self:flex-start;margin-top:6px;}
.plan-price .period{font-size:13px;color:var(--text-muted);}
.plan-desc{font-size:13px;color:var(--text-secondary);margin-bottom:22px;line-height:1.6;min-height:36px;}
 
.plan-divider{height:1px;background:var(--tab-border);margin-bottom:20px;}
 
.plan-features{list-style:none;margin-bottom:24px;}
.plan-features li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13px;color:var(--text-primary);
  padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);
  line-height:1.4;
}
.plan-features li:last-child{border-bottom:none;}
.feat-icon{width:18px;height:18px;flex-shrink:0;margin-top:1px;}
.feat-icon.check{color:#4ade80;}
.feat-icon.cross{color:var(--text-muted);opacity:.5;}
.feat-highlight{font-weight:700;color:var(--gold);}
 
.plan-cta{
  display:block;width:100%;padding:13px;
  border-radius:11px;font-size:14px;font-weight:700;
  text-align:center;cursor:pointer;transition:all .2s;
  border:none;font-family:'DM Sans',sans-serif;
}
.plan-cta.cta-outline{
  background:transparent;color:var(--text-primary);
  border:1.5px solid var(--tab-border);
}
.plan-cta.cta-outline:hover{border-color:var(--gold);color:var(--gold);}
.plan-cta.cta-gold{
  background:linear-gradient(135deg,var(--gold),#c9a045);
  color:#092c37;
}
.plan-cta.cta-gold:hover{filter:brightness(1.08);transform:translateY(-1px);}
 
/* Comparison table */
.comp-table-wrap{overflow-x:auto;margin-bottom:48px;}
.comp-table{
  width:100%;border-collapse:collapse;font-size:13px;min-width:600px;
}
.comp-table thead th{
  padding:14px 16px;text-align:center;font-weight:700;font-size:13px;
  color:var(--text-primary);border-bottom:2px solid var(--tab-border);
  background:var(--card-bg);
}
.comp-table thead th:first-child{text-align:left;}
.comp-table thead th.th-pro{color:var(--gold);}
.comp-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);}
.comp-table tbody tr:last-child{border-bottom:none;}
.comp-table tbody tr:nth-child(even){background:rgba(255,255,255,.02);}
.comp-table td{padding:11px 16px;color:var(--text-secondary);vertical-align:middle;}
.comp-table td:first-child{color:var(--text-primary);font-size:13px;}
.comp-table td:not(:first-child){text-align:center;}
.comp-check{color:#4ade80;font-size:16px;}
.comp-cross{color:var(--text-muted);opacity:.4;font-size:16px;}
.comp-val{font-weight:700;color:var(--text-primary);}
.comp-val.gold{color:var(--gold);}
.comp-section-head td{
  padding:10px 16px 6px;
  font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--text-muted);background:var(--page-bg)!important;
  border-top:1px solid var(--tab-border);
}
 
/* FAQ strip */
.pros-faq{margin-top:8px;}

/* Ready banner */
.pros-ready-banner{
  margin-top:44px;padding:28px 32px;
  background:rgba(223,185,105,.08);border:1px solid rgba(223,185,105,.2);
  border-radius:16px;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
}
.pros-ready-title{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:4px;}
.pros-ready-sub{font-size:13px;color:var(--text-secondary);}
.pros-ready-btn{padding:13px 32px;font-size:14px;border-radius:10px;}
.pros-faq h2{font-size:22px;color:var(--text-primary);font-weight:700;margin-bottom:24px;}
.faq-item{border-bottom:1px solid var(--tab-border);padding:16px 0;}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);gap:16px;
}
.faq-q .faq-icon{color:var(--gold);font-size:18px;flex-shrink:0;transition:transform .2s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{font-size:13px;color:var(--text-secondary);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;}
.faq-item.open .faq-a{max-height:200px;padding-top:10px;}
 
@media(max-width:900px){
  .pricing-grid{grid-template-columns:1fr 1fr;gap:16px;}
  .plan-card.featured{transform:none;}
  .plan-card.featured:hover{transform:translateY(-4px);}
}
@media(max-width:600px){
  .pricing-grid{grid-template-columns:1fr;}
  .plan-card.featured{transform:none;}
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
══════════════════════════════════════════════════════════════ */

/* ── TABLET: 769px – 1024px ─────────────────────────────────── */
@media(max-width:1024px){
  .header-inner{gap:8px;}
  .action-pill .loc-btn{padding:8px 10px;}
  .header-icons .icon-btn-wrap:not(:first-child){display:none;}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
  .prof-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}

  /* Pros page padding */
  .pros-page-inner{padding:0 20px;}
  .footer-page{padding:50px 20px 80px;}
}

/* ── MOBILE: ≤ 768px ─────────────────────────────────────────── */
@media(max-width:768px){

  /* Header */
  .header-inner{height:56px;padding:0 10px;gap:6px;}
  #logo-text img{width:80px;}

  /* Hide desktop search & mobile search icon (search lives in bottom nav) */
  .search-wrap{display:none;}
  .mobile-search-btn{display:none;}
  .mobile-search-wrap{top:56px;}

  /* Hide location from header (lives in bottom nav); keep only lang toggle */
  .action-pill .loc-btn{display:none;}
  .action-pill .pill-divider{display:none;}
  .action-pill{border-radius:20px;background:transparent;padding:0;}
  .lang-toggle{margin:0;width:52px;}

  /* Header icons: show only 1 */
  .header-icons{display:none;}
  .theme-toggle-btn{display:none;}

  /* Auth buttons: compact */
  #hdr-join{padding:7px 10px;font-size:10px;letter-spacing:0;}
  #hdr-login{padding:7px 10px;font-size:10px;}

  /* Hero */
  #hero{padding:32px 16px 30px;}
  #hero h1{font-size:clamp(22px,6vw,34px);margin-bottom:10px;}
  #hero p{font-size:14px;}

  /* Categories: 2 cols on small screens */
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .cat-card{padding:18px 12px;}
  .icon-square{width:46px;height:46px;margin-bottom:12px;}
  .icon-square i{font-size:18px;}
  .cat-name{font-size:13px;}
  #categories-section{padding:24px 12px 36px;}

  /* Stories */
  .stories-inner{padding:0 12px 24px;}
  .stories-label{font-size:18px;margin-bottom:18px;}
  .story-ring{width:64px;height:64px;}
  .story-name{font-size:11px;max-width:60px;}

  /* Proposals */
  #proposals-section{padding:24px 12px;}
  .prof-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .prof-img-wrap{height:130px;}
  .prof-body{padding:10px 12px 14px;}
  .prof-name{font-size:13px;}
  .prof-title{font-size:11px;margin-bottom:6px;}
  .prof-meta{gap:4px;margin-bottom:6px;}
  .rating-num{font-size:11px;}
  .reviews-cnt{font-size:10px;}
  .distance{font-size:10px;}
  .price-from{font-size:12px;}
  .price-from strong{font-size:14px;}
  .book-btn{padding:6px 10px;font-size:11px;}
  .section-head{margin-bottom:16px;}

  /* Pro banner */
  #pro-banner{padding:36px 16px;}
  #pro-banner .btn-gold{padding:11px 28px;font-size:14px;}

  /* Search page */
  #search-page{padding:16px 12px;}
  .search-layout{flex-direction:column;}
  #sidebar{display:none !important;}
  .open-filters-btn{display:inline-block !important;}
  .breadcrumb{font-size:13px;gap:6px;margin-bottom:14px;}

  /* Subcategory page */
  .subcat-hero{padding:28px 14px 26px;}
  .subcat-hero-icon{width:50px;height:50px;border-radius:13px;}
  .subcat-hero-icon i{font-size:22px;}
  .subcat-hero-title{font-size:clamp(20px,5vw,32px);}
  .subcat-hero-subtitle{font-size:13px;}
  .subcat-grid-section{padding:24px 14px 50px;}
  .subcat-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .subcat-card{padding:16px 12px;}
  .subcat-card-icon{width:42px;height:42px;border-radius:11px;margin-bottom:10px;}
  .subcat-card-icon i{font-size:18px;}
  .subcat-card-name{font-size:13px;}
  .subcat-cta{flex-direction:column;text-align:center;padding:18px 14px;}
  .subcat-cta .btn-gold{width:100%;}

  /* Profile page */
  #profile-page{padding:14px 10px 80px;}
  .profile-hero{border-radius:14px;margin-bottom:16px;}
  .profile-cover{height:130px;margin-bottom:40px;}
  .profile-info{padding:0 14px 18px;}
  .avatar-row{gap:10px;margin-top:-30px;}
  .avatar-row img{width:60px;height:60px;border-width:3px;}
  .profile-name-block h2{font-size:17px;}
  .profile-name-block .subtitle{font-size:12px;}
  .profile-stats{gap:10px;}
  .stat-item .stat-label{font-size:9px;letter-spacing:.6px;}
  .stat-item .stat-val{font-size:13px;}
  .tabs-wrap{border-radius:14px;}
  .tabs-nav{gap:0;}
  .tab-btn{padding:11px 12px;font-size:12px;}
  .tab-content{padding:14px 12px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .gallery-grid img{border-radius:8px;}
  .price-table{font-size:12px;}
  .price-table th,.price-table td{padding:10px 8px;}
  .booking-summary{max-width:100%;}
  .service-opt-btn{font-size:12px;padding:8px 12px;}
  .booking-label{font-size:15px;margin-bottom:10px;}
  .dates-scroll{gap:6px;}
  .date-btn{padding:8px 10px;font-size:12px;min-width:44px;border-radius:8px;}
  .time-btn{padding:9px 14px;font-size:13px;border-radius:8px;}

  /* Footer pages */
  .footer-page{padding:40px 16px 80px;}
  .footer-page-inner{padding:0;}
  .footer-page h1{font-size:clamp(22px,5vw,36px);margin-bottom:6px;}
  .footer-page-content{font-size:14px;line-height:1.7;}
  .footer-page-content h2{font-size:17px;margin:20px 0 8px;}

  /* Pros / Pricing page */
  #page-pros{padding-top:36px;padding-bottom:80px;}
  .pros-page-inner{padding:0 12px;}
  .pros-hero-text{margin-bottom:32px;}
  .pros-hero-text h1{font-size:clamp(22px,5vw,36px);}
  .pros-hero-text p{font-size:14px;line-height:1.6;}
  .pricing-grid{gap:16px;margin-bottom:36px;}
  .plan-card{padding:22px 18px 26px;border-radius:16px;}
  .plan-price .amount{font-size:32px;}
  .plan-price .currency{font-size:16px;}
  .plan-price .period{font-size:12px;}
  .plan-desc{font-size:12px;min-height:auto;margin-bottom:16px;}
  .plan-features li{font-size:12px;padding:6px 0;gap:8px;}
  .feat-icon{width:16px;height:16px;}
  .plan-cta{padding:12px;font-size:13px;border-radius:10px;}
  .plan-badge{font-size:10px;padding:3px 12px;top:-11px;}
  .plan-name{font-size:13px;margin-bottom:8px;}
  .plan-divider{margin-bottom:14px;}

  /* Comparison table */
  .comp-table-wrap{margin-bottom:32px;}
  .comp-table{font-size:11px;min-width:480px;}
  .comp-table thead th{padding:10px 8px;font-size:11px;}
  .comp-table td{padding:9px 8px;}

  /* FAQ */
  .pros-faq{margin-top:4px;}
  .pros-faq h2{font-size:18px;margin-bottom:18px;}
  .faq-q{font-size:13px;gap:12px;}
  .faq-q .faq-icon{font-size:16px;}
  .faq-a{font-size:12px;line-height:1.6;}
  .faq-item{padding:14px 0;}

  /* Ready banner */
  .pros-ready-banner{
    flex-direction:column;text-align:center;
    padding:20px 16px;margin-top:28px;gap:12px;
  }
  .pros-ready-title{font-size:15px;}
  .pros-ready-sub{font-size:12px;}
  .pros-ready-btn{width:100%;padding:12px 20px;font-size:13px;}

  /* Footer */
  #footer{padding:28px 14px 16px;}
  .footer-top{flex-direction:column;gap:16px;align-items:flex-start;}
  .footer-links{gap:12px;}
  .footer-links a{font-size:12px;}
  .footer-bottom{font-size:11px;flex-direction:column;gap:4px;align-items:center;text-align:center;}

  /* Modals */
  .modal{padding:24px 18px;border-radius:16px;max-width:calc(100vw - 32px);}
  #booking-modal .modal,#booking-modal2 .modal{border-radius:16px;max-width:calc(100vw - 32px);}
  .booking-modal-body iframe,
  .booking-modal2-body iframe{width:100% !important;height:440px;}
  .modal-title{font-size:18px;}
  .modal-sub{font-size:13px;margin-bottom:18px;}
  .city-suggestions{gap:6px;}
  .city-pill{font-size:11px;padding:5px 11px;}

  /* Story modal */
  #story-prev{left:2%;}
  #story-next{right:2%;}
  .story-nav{width:36px;height:36px;font-size:20px;}
  .story-cap-text{font-size:13px;}
  .story-cap-prof strong{font-size:13px;}
}

/* ── VERY SMALL: ≤ 400px ─────────────────────────────────────── */
@media(max-width:400px){
  /* Header ultra-compact */
  .header-inner{gap:4px;padding:0 8px;}
  #logo-text img{width:70px;}
  #hdr-join{padding:6px 8px;font-size:9px;}
  #hdr-login{padding:6px 8px;font-size:9px;}
  .lang-toggle{width:48px;margin:0;}
  .lang-knob{width:22px;height:22px;font-size:8px;}

  /* Grids */
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .cat-card{padding:14px 10px;}
  .icon-square{width:40px;height:40px;margin-bottom:10px;}
  .icon-square i{font-size:16px;}
  .cat-name{font-size:12px;}
  .prof-grid{grid-template-columns:1fr;}
  .prof-img-wrap{height:180px;}
  .subcat-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .subcat-card{padding:14px 10px;}

  /* Profile */
  .profile-stats{gap:8px;}
  .stat-item .stat-val{font-size:12px;}
  .tabs-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .tab-btn{padding:10px 10px;font-size:11px;flex-shrink:0;}

  /* Pricing */
  .plan-card{padding:18px 14px 22px;}
  .plan-price .amount{font-size:28px;}
  .plan-features li{font-size:11px;gap:7px;}

  /* Hero */
  #hero{padding:28px 12px 26px;}
  #hero h1{font-size:22px;}

  /* Stories */
  .story-ring{width:56px;height:56px;}
  .story-name{font-size:10px;max-width:52px;}
  .stories-scroll{gap:10px;}
}

/* ── LARGE DESKTOP: ≥ 1440px ─────────────────────────────────── */
@media(min-width:1440px){
  .cat-grid{grid-template-columns:repeat(4,1fr);}
  .prof-grid{grid-template-columns:repeat(4,1fr);}
}