/* Public vendor-page additions: amenities, facts, preview banner, booking calendar. */
.iv-block{margin:28px 0;font-family:"Plus Jakarta Sans",sans-serif}
.iv-h{margin:0 0 16px}
.iv-muted{color:#808080}
.iv-preview-banner{background:#fff4d6;border:1px solid #f0d58a;color:#6b5200;padding:12px 18px;border-radius:12px;margin:16px 0;font-size:14px}
.iv-preview-banner a{color:#5453F0;font-weight:600}
.iv-facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 22px;margin:0 0 24px;padding:18px 22px;background:#F2F2F2;border-radius:16px}
.iv-facts dt{color:#808080;font-weight:500}
.iv-facts dd{margin:0;color:#121117;font-weight:600}
.iv-facts a{color:#FF478C}
.iv-amenities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 18px}
.iv-amenities li{display:flex;align-items:center;gap:10px;color:#121117;font-weight:500}
.iv-amenities i{color:#fff;background:#FF478C;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:none}
.iv-share{display:flex;gap:8px;flex-wrap:wrap;padding:6px 0}
.iv-share a{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:15px;text-decoration:none}

.iv-booking-wrap{background:#fff;border:1px solid #E2E2E2;border-radius:24px;padding:28px;box-shadow:0 12px 40px rgba(18,17,23,.06)}
.iv-booking{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:32px;align-items:start}
@media(max-width:820px){.iv-booking{grid-template-columns:1fr}.iv-booking-wrap{padding:18px}}
.iv-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.iv-cal-title{font-weight:700;font-size:18px;color:#121117}
.iv-cal-nav button{border:1px solid #E2E2E2;background:#fff;border-radius:10px;width:36px;height:36px;font-size:16px;cursor:pointer;color:#121117}
.iv-cal-nav button:hover:not(:disabled){border-color:#FF478C;color:#FF478C}
.iv-cal-nav button:disabled{opacity:.35;cursor:default}
.iv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.iv-cal-dow{font-size:12px;font-weight:600;color:#808080;text-align:center;padding:6px 0}
.iv-day{aspect-ratio:1/1;border:0;border-radius:10px;background:#F2F2F2;color:#121117;font:600 14px "Plus Jakarta Sans",sans-serif;cursor:default;position:relative}
.iv-day.blank{background:transparent}
.iv-day.available{background:#fff;border:1px solid #E2E2E2;cursor:pointer}
.iv-day.available:hover{border-color:#FF478C;color:#FF478C}
.iv-day.selected{background:#FF478C!important;border-color:#FF478C!important;color:#fff!important}
.iv-day.booked{background:#fde7ef;color:#c0346c;text-decoration:line-through}
.iv-day.blocked,.iv-day.closed,.iv-day.notice,.iv-day.far{background:repeating-linear-gradient(135deg,#f6f6f6,#f6f6f6 6px,#ececec 6px,#ececec 12px);color:#a5a5a5}
.iv-day.past{background:#fafafa;color:#c8c8c8}
.iv-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#808080}
.iv-legend span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-2px;border:1px solid #E2E2E2;background:#fff}
.iv-legend .l-booked::before{background:#fde7ef;border-color:#fde7ef}
.iv-legend .l-na::before{background:#ececec;border-color:#ececec}
.iv-legend .l-sel::before{background:#FF478C;border-color:#FF478C}
.iv-form h4{margin:0 0 4px;font-size:18px;color:#121117}
.iv-form .iv-picked{color:#FF478C;font-weight:700;margin:0 0 16px}
.iv-form .iv-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.iv-form .iv-row{grid-template-columns:1fr}}
.iv-form label{display:block;font-size:13px;font-weight:600;color:#121117;margin:12px 0 4px}
.iv-form input,.iv-form select,.iv-form textarea{width:100%;box-sizing:border-box;border:1px solid #E2E2E2;border-radius:12px;padding:11px 14px;font:500 15px "Plus Jakarta Sans",sans-serif;color:#121117;background:#fff}
.iv-form input:focus,.iv-form select:focus,.iv-form textarea:focus{outline:none;border-color:#FF478C;box-shadow:0 0 0 3px rgba(255,71,140,.15)}
.iv-form textarea{min-height:90px;resize:vertical}
.iv-form .iv-err{color:#c0192f;font-size:12px;margin-top:4px}
.iv-form .iv-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.iv-btn{display:inline-block;border:0;border-radius:50px;background:#FF478C;color:#fff;font:700 15px "Plus Jakarta Sans",sans-serif;padding:13px 28px;margin-top:18px;cursor:pointer}
.iv-btn:hover{background:#e8397c}
.iv-btn:disabled{opacity:.6;cursor:wait}
.iv-hint{padding:26px;border:1px dashed #E2E2E2;border-radius:16px;color:#808080;text-align:center}
.iv-ok{padding:22px;border-radius:16px;background:#e9f8ef;color:#12683a}
.iv-ok h4{margin:0 0 6px;color:#12683a}

.iv-video{position:relative;width:100%;aspect-ratio:16/9;margin:0 0 24px;border-radius:16px;overflow:hidden;background:#121117}
.iv-video iframe,.iv-video video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.iv-embed{margin-top:28px;padding-top:24px;border-top:1px solid #E2E2E2}
.iv-embed h4{margin:0 0 12px;font-size:18px;color:#121117}
.iv-frame{width:100%;height:720px;border:1px solid #E2E2E2;border-radius:16px;background:#fff}
.iv-embed .iv-btn{margin-top:0;text-decoration:none}

.iv-slots{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.iv-slot{border:2px solid #e2e2e8;background:#fff;border-radius:12px;padding:8px 12px;font-weight:700;font-size:14px;cursor:pointer;color:#121117;transition:all .12s;font-family:inherit}
.iv-slot:hover:not(:disabled){border-color:#FF478C;transform:translateY(-1px)}
.iv-slot.on{background:#FF478C;border-color:#FF478C;color:#fff}
.iv-slot.busy{background:#f4f4f7;color:#b3b3bd;text-decoration:line-through;cursor:not-allowed}

/* booking calendar: light-blue theme */
.iv-booking-wrap{background:linear-gradient(180deg,#eef7ff 0,#fff 220px);border-color:#cfe6fb;box-shadow:0 12px 40px rgba(47,143,224,.12)}
.iv-cal-title{color:#0b4a7a}
.iv-cal-nav button{border-color:#bfdcf5;background:#fff;color:#2f8fe0}
.iv-cal-nav button:hover:not(:disabled){border-color:#2f8fe0;background:#e6f3ff;color:#0a5ca8}
.iv-cal-dow{color:#5b93c4;letter-spacing:.02em}
.iv-day{background:#eef3f8;color:#6b7b8c}
.iv-day.available{background:#e3f2ff;border:1px solid #b6daf9;color:#0b4a7a}
.iv-day.available:hover{background:#cbe6ff;border-color:#2f8fe0;color:#0a5ca8;transform:translateY(-1px);box-shadow:0 4px 10px rgba(47,143,224,.25)}
.iv-day.selected{background:linear-gradient(135deg,#3aa0f5,#2f6fe0)!important;border-color:#2f6fe0!important;color:#fff!important;box-shadow:0 4px 12px rgba(47,111,224,.35)}
.iv-day.booked{background:#ffe3ec;color:#c0346c}
.iv-day.blocked,.iv-day.closed,.iv-day.notice,.iv-day.far{background:repeating-linear-gradient(135deg,#f3f7fb,#f3f7fb 6px,#e6edf4 6px,#e6edf4 12px);color:#9fb0c1}
.iv-day.past{background:#f7fafc;color:#c3ced9}
.iv-legend{color:#5b6f83}
.iv-legend span::before{background:#e3f2ff;border-color:#b6daf9}
.iv-legend .l-booked::before{background:#ffe3ec;border-color:#ffe3ec}
.iv-legend .l-na::before{background:#e6edf4;border-color:#e6edf4}
.iv-legend .l-sel::before{background:linear-gradient(135deg,#3aa0f5,#2f6fe0);border-color:#2f6fe0}
.iv-slot{border-color:#cfe6fb;background:#f4faff;color:#0b4a7a}
.iv-slot:hover:not(:disabled){border-color:#2f8fe0;background:#e3f2ff}
.iv-slot.on{background:linear-gradient(135deg,#3aa0f5,#2f6fe0);border-color:#2f6fe0;color:#fff}
.iv-slot.busy{background:#f1f5f9;color:#aab7c4}
.iv-form .iv-picked{color:#2f8fe0}
.iv-form input:focus,.iv-form select:focus,.iv-form textarea:focus{border-color:#2f8fe0;outline:none;box-shadow:0 0 0 3px rgba(47,143,224,.2)}

/* ===== vendor profile: background colours that follow the site's theme (pink #FF478C / indigo #5453F0 / sky) ===== */
.single_job_listing{position:relative}
#page-content{background:radial-gradient(900px 440px at 94% -60px,#ebe8ff 0,rgba(235,232,255,0) 70%),radial-gradient(820px 400px at -6% 120px,#ffe2ed 0,rgba(255,226,237,0) 68%),linear-gradient(180deg,#fff8fb 0,#fff 960px)}
.single_job_listing .listing-single-content>.elementor>.elementor-top-section{margin:22px 16px 0;border-radius:26px}
/* title + actions band */
.single_job_listing .elementor-top-section[data-id="58199d9a"]{background:linear-gradient(120deg,#fff0f6 0,#f3f1ff 100%);border:1px solid #f6d5e3;box-shadow:0 18px 40px -26px rgba(255,71,140,.55);padding:14px 10px}
/* gallery band */
.single_job_listing .elementor-top-section[data-id="7d69ed9c"]{background:linear-gradient(180deg,#f3f2ff 0,#faf9ff 100%);border:1px solid #e0defc;padding:16px 12px;box-shadow:0 18px 40px -28px rgba(84,83,240,.5)}
/* details band */
.single_job_listing .elementor-top-section[data-id="4646032"]{background:linear-gradient(180deg,#ffffff 0,#fff4f8 100%);border:1px solid #f6e0ea;padding:24px 14px;box-shadow:0 18px 40px -30px rgba(255,71,140,.4)}
.single_job_listing .elementor-top-section[data-id="4646032"] .gva-element-gva_post_content,
.single_job_listing .elementor-top-section[data-id="4646032"] .iv-block{background:#fff;border:1px solid #f3e3ea;border-radius:20px;padding:20px 22px;box-shadow:0 10px 26px -22px rgba(18,17,23,.4)}
.single_job_listing .elementor-top-section[data-id="4646032"] .iv-block{margin:18px 0}
.iv-facts{background:linear-gradient(135deg,#f3f2ff 0,#fff0f6 100%);border:1px solid #ebe3f6}
.iv-facts dt{color:#6b6a85}
.iv-amenities li{background:#fff7fa;border:1px solid #fbe3ec;border-radius:12px;padding:8px 12px}
.iv-h span{background:linear-gradient(transparent 62%,#ffd3e3 62%);padding:0 2px}
.single_job_listing .iv-block .iv-h{margin-top:0}
/* contact + map column */
.single_job_listing [data-id="46e6e014"]>.elementor-container{background:#fff;border:1px solid #e6e4fb;border-radius:20px;padding:10px 14px;box-shadow:0 10px 26px -22px rgba(84,83,240,.5)}
.single_job_listing .gva-listing-map,.single_job_listing .lt-listing--map{border-radius:20px;overflow:hidden}
.single_job_listing .gva-listing-tags{background:#f3f2ff;border-radius:16px;padding:12px 16px}
/* booking band (sky, matching the calendar) */
.single_job_listing #iv-booking-section{background:linear-gradient(180deg,#e9f4ff 0,#f4f9ff 100%);border:1px solid #cfe6fb;padding:22px 14px;box-shadow:0 18px 40px -30px rgba(47,143,224,.55)}
.single_job_listing #iv-booking-section .iv-booking-wrap{background:#fff}
@media(max-width:700px){.single_job_listing .listing-single-content>.elementor>.elementor-top-section{border-radius:18px;margin:14px 8px 0}
  .single_job_listing .elementor-top-section[data-id="4646032"]{padding:14px 6px}
  .single_job_listing .elementor-top-section[data-id="4646032"] .gva-element-gva_post_content,.single_job_listing .elementor-top-section[data-id="4646032"] .iv-block{padding:14px 14px}}
.single_job_listing .iv-block{width:100%;box-sizing:border-box}
.single_job_listing .iv-facts{margin-bottom:6px}

/* ===== photo gallery: every photo visible at once ===== */
.iv-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(150px,16vw);gap:10px}
.iv-gallery .iv-g{display:block;border-radius:16px;overflow:hidden;background:#f6f4fb;border:1px solid #e6e2f5;position:relative;cursor:zoom-in;transition:transform .15s,box-shadow .15s;min-height:0}
.iv-gallery .iv-g:hover{transform:translateY(-2px);box-shadow:0 14px 26px -16px rgba(84,83,240,.65)}
.iv-gallery .iv-g img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.iv-gallery .iv-g-hero{grid-column:span 2;grid-row:span 2}
.iv-gallery-1{grid-auto-rows:minmax(300px,34vw)}.iv-gallery-1 .iv-g-hero{grid-column:1 / -1;grid-row:span 1}
.iv-gallery-2{grid-auto-rows:minmax(240px,26vw)}.iv-gallery-2 .iv-g,.iv-gallery-2 .iv-g-hero{grid-column:span 2;grid-row:span 1}
.iv-g-count{margin:10px 4px 0;text-align:right;font:700 13px "Plus Jakarta Sans",sans-serif;color:#5b5a7a}.iv-g-count i{color:#FF478C;margin-right:4px}
@media(max-width:820px){.iv-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(110px,26vw)}}
@media(max-width:560px){.iv-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(110px,38vw)}
  .iv-gallery .iv-g-hero{grid-column:1 / -1;grid-row:span 2}.iv-gallery-2 .iv-g,.iv-gallery-2 .iv-g-hero{grid-column:1 / -1}}

/* tags: the last band on the profile */
.single_job_listing .iv-tags-section{background:linear-gradient(120deg,#f3f2ff 0,#fff0f6 100%);border:1px solid #e6e2f5;padding:16px 14px;box-shadow:0 14px 30px -26px rgba(84,83,240,.5)}
.single_job_listing .iv-tags-section .gva-listing-tags{background:transparent;padding:0}
.single_job_listing .iv-tags-section .tag-item{background:#fff;border:1px solid #e6e2f5;color:#4443c7;font-weight:700}
