/* ===========================================================
   Go Magaluf — single event (detail) page styles
   Loaded in addition to style.css
   =========================================================== */

.event-detail-head{padding:40px 0 26px;}
.event-detail-head h1{font-size:40px;}
.event-detail-head .lede{font-size:17px;color:var(--text);max-width:880px;margin:14px 0 16px;}
.rating{display:flex;align-items:center;gap:10px;}
.rating .stars{color:#FBBC05;font-size:19px;letter-spacing:1px;}
.star-half{position:relative;display:inline-block;color:#dcdde3;}
.star-half::before{content:"★";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:#FBBC05;}
.rating .rtxt{font-size:13.5px;color:#8a8a8a;font-weight:500;}

/* ---- SECTION CARDS (reordered detail content) ---- */
.ev-card{background:#fff;border:1px solid #ecedf2;border-radius:16px;box-shadow:var(--shadow-card);padding:30px 32px;margin-bottom:24px;}
.ev-card:last-child{margin-bottom:0;}
.ev-eyebrow{display:block;font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--pink);margin-bottom:10px;}
.ev-card h2{font-size:23px;margin:30px 0 14px;}
.ev-card .ev-eyebrow + h2{margin-top:0;}
.ev-card h3{font-size:18px;margin:20px 0 8px;}
.ev-card .uline,.ev-card .uline-sm{display:none;}
@media(max-width:600px){.ev-card{padding:24px 20px;}}

/* ---- GALLERY ---- */
.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;}
.gallery .g-main{grid-row:1/3;grid-column:1;border-radius:14px;overflow:hidden;position:relative;aspect-ratio:auto;}
.gallery .g-cell{border-radius:14px;overflow:hidden;position:relative;aspect-ratio:4/3;}
.gallery .ph{min-height:180px;}
.gallery .g-main .ph{min-height:100%;}
.gallery .g-main img,.gallery .g-cell img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery .g-main,.gallery .g-cell{cursor:pointer;}

/* ---- LIGHTBOX ---- */
.lightbox{position:fixed;inset:0;background:rgba(10,12,30,.94);z-index:200;display:none;flex-direction:column;}
.lightbox.open{display:flex;}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;color:#fff;}
.lb-count{font-size:15px;font-weight:600;letter-spacing:.5px;}
.lb-close{background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;}
.lb-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:0 12px;min-height:0;}
.lb-stage img{max-width:90%;max-height:100%;object-fit:contain;border-radius:8px;}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;border:none;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
.lb-arrow:hover{background:var(--pink);}
.lb-arrow.prev{left:18px;}
.lb-arrow.next{right:18px;}
.lb-thumbs{display:flex;gap:10px;overflow-x:auto;padding:16px 20px;justify-content:flex-start;scrollbar-width:thin;}
.lb-thumbs img{height:64px;width:92px;object-fit:cover;border-radius:6px;opacity:.45;cursor:pointer;border:2px solid transparent;transition:.15s ease;flex:0 0 auto;}
.lb-thumbs img:hover{opacity:.8;}
.lb-thumbs img.active{opacity:1;border-color:var(--pink);}
@media (max-width:600px){
  .lb-thumbs img{height:46px;width:66px;}
  .lb-arrow{width:42px;height:42px;font-size:22px;}
}
.gallery .g-cell:last-child .gallery-btn{position:absolute;right:14px;bottom:14px;}
.gallery-btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--pink);color:#fff;
  font-weight:600;font-size:14px;padding:9px 16px;border-radius:30px;border:none;
  box-shadow:0 6px 18px rgba(229,38,101,.4);
}
.gallery-btn .count{background:rgba(255,255,255,.25);border-radius:20px;padding:1px 9px;font-size:13px;}

/* ---- TRUST BADGES ---- */
.trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:26px 0 8px;}
.trust-badges span{
  background:#FDF3D9;color:var(--navy);font-weight:600;font-size:13.5px;
  padding:9px 20px;border-radius:24px;
}

/* ---- TWO-COLUMN LAYOUT ---- */
.detail-layout{display:grid;grid-template-columns:1fr 460px;gap:48px;align-items:start;padding:30px 0 70px;}
.detail-main h2{font-size:28px;margin:42px 0 0;}
.detail-main h2:first-child{margin-top:0;}
.detail-main h3{font-size:19px;margin:30px 0 0;}
.detail-main .uline{margin:16px 0 20px;}
.detail-main p{font-size:15.5px;line-height:1.8;margin:14px 0 0;}
.detail-main p strong{color:var(--navy);}
.detail-main a{color:var(--pink);font-weight:500;}
.detail-main a:hover{text-decoration:underline;}
.detail-main .sub{font-weight:700;color:var(--navy);font-family:var(--font-body);font-size:15px;margin-top:24px;}

.bullets{margin:14px 0 0;padding-left:22px;}
.bullets li{margin:8px 0;font-size:15.5px;}
.bullets li strong{color:var(--navy);}

.checklist{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:13px;}
.checklist li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;}
.checklist .ck{color:var(--green);font-weight:700;flex-shrink:0;}

.keyinfo{margin:18px 0 0;display:grid;gap:14px;}
.keyinfo div{font-size:15.5px;}
.keyinfo b{color:var(--navy);}

/* ---- FAQ ACCORDION ---- */
.faq{margin:20px 0 0;border-top:1px solid #eef0f4;}
.faq-item{border-bottom:1px solid #eef0f4;}
.faq-q{
  width:100%;text-align:left;background:none;border:none;padding:18px 36px 18px 0;position:relative;
  font-family:var(--font-body);font-weight:600;font-size:15.5px;color:var(--navy);cursor:pointer;
}
.faq-q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--pink);transition:transform .2s ease;}
.faq-item.open .faq-q::after{content:"–";}
.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.faq-a p{font-size:15px;color:var(--text);margin:0 0 18px;line-height:1.75;}

/* ---- CATEGORIES ---- */
.cats{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.cats a{
  background:#fff;border:2px solid var(--pink);color:var(--pink);font-weight:600;font-size:13px;
  padding:7px 20px;border-radius:24px;transition:.15s;
}
.cats a:hover{background:var(--pink);color:#fff;}

/* ===========================================================
   BOOKING SIDEBAR
   =========================================================== */
.sidebar{display:grid;gap:22px;}
.sidebar > *{width:100%;box-sizing:border-box;max-width:none;margin-left:0;margin-right:0;}
.sidebar .why-box{align-self:stretch;}

/* Book Now box (Bókun widget replica / mount point) */
.book-now{background:var(--navy);border-radius:16px;color:#fff;overflow:hidden;box-shadow:0 20px 50px rgba(36,42,86,.25);}
.book-now-pad{padding:26px 26px 24px;}
.book-now h3{color:#fff;font-size:24px;}
.book-now .uline{width:70px;margin:12px 0 18px;}
.bn-price{display:flex;align-items:baseline;gap:0;margin-bottom:8px;}
.bn-price .pr{display:flex;align-items:baseline;gap:7px;padding:0 16px;}
.bn-price .pr:first-child{padding-left:0;}
.bn-price .pr+.pr{border-left:1px solid rgba(255,255,255,.25);}
.bn-price .cur{font-size:14px;font-weight:600;}
.bn-price .amt{font-size:20px;font-weight:700;font-family:var(--font-head);}
.bn-perperson{font-size:15px;color:rgba(255,255,255,.92);}
.bn-note{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:8px;}
.deposit-banner{
  background:#1f6b2e;border:1px solid #2e8a40;border-radius:10px;margin:18px 26px 0;
  padding:16px 18px;display:flex;align-items:center;gap:14px;font-size:13.5px;line-height:1.5;
}
.deposit-banner .i{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-style:italic;font-weight:700;flex-shrink:0;}

.bn-white{background:#fff;color:var(--navy);margin:18px;border-radius:12px;padding:20px 18px;}
.avail-legend{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:13px;color:#555;border-bottom:1px solid #eef0f4;padding-bottom:14px;margin-bottom:16px;}
.avail-legend span{display:flex;align-items:center;gap:7px;}
.avail-legend .tri{width:0;height:0;border-style:solid;border-width:0 9px 9px 0;}
.tri.green{border-color:transparent #34A853 transparent transparent;}
.tri.amber{border-color:transparent #F4B400 transparent transparent;}
.tri.red{border-color:transparent #EA6A5E transparent transparent;}

.bn-section-title{font-family:var(--font-head);font-weight:700;font-size:19px;color:var(--navy);}

/* Strip the Bókun widget's outer card border/shadow so it sits flush */
#bokunWidget .bokunWidget,
#bokunWidget .bokunWidget > div,
#bokunWidget .bokunWidget > div > div{
  border:none !important;box-shadow:none !important;background:transparent !important;
}
.bn-section-title + .uline{margin:8px 0 14px;}
.stepper-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.stepper-row .lbl{font-weight:600;color:var(--navy);}
.stepper{display:flex;align-items:center;gap:16px;}
.stepper button{
  width:40px;height:40px;border-radius:50%;border:2px solid var(--pink);background:#fff;color:var(--pink);
  font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s;
}
.stepper button:hover{background:var(--pink);color:#fff;}
.stepper .val{font-size:17px;font-weight:600;color:var(--navy);min-width:18px;text-align:center;}

/* calendar */
.cal{margin-top:6px;}
.cal-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px;}
.cal-head .mname{font-weight:700;color:var(--navy);font-size:16px;font-family:var(--font-head);}
.cal-nav{width:36px;height:36px;border-radius:50%;border:2px solid var(--pink);background:#fff;color:var(--pink);display:flex;align-items:center;justify-content:center;font-size:14px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-dow{font-size:12px;color:#999;text-align:center;font-weight:600;padding-bottom:6px;}
.cal-day{
  aspect-ratio:1;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:14px;color:#c4c4c4;position:relative;border:1px solid transparent;
}
.cal-day.has{color:var(--navy);font-weight:600;cursor:pointer;}
.cal-day.amber{background:#FDF3D9;}
.cal-day.green{background:#E8F5E9;}
.cal-day .dp{font-size:10px;font-weight:500;color:#777;}
.cal-day .corner{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 8px 8px 0;border-radius:0 8px 0 0;}
.cal-day.amber .corner{border-color:transparent #F4B400 transparent transparent;}
.cal-day.green .corner{border-color:transparent #34A853 transparent transparent;}
.cal-day.selected{outline:2px solid var(--pink);outline-offset:-2px;}
.cal-note{font-size:12px;color:#999;margin-top:12px;}

/* booking summary ticket */
.summary-ticket{
  position:relative;background:#fff;border:1px solid #e6e8ef;border-radius:12px;padding:22px;
  margin-top:8px;min-height:150px;
}
.summary-ticket .stitle{color:var(--pink);font-weight:700;font-family:var(--font-head);font-size:17px;}
.summary-ticket .people{position:absolute;left:22px;bottom:18px;font-size:14px;color:var(--navy);}
.summary-ticket .total{position:absolute;right:22px;bottom:30px;font-size:13px;color:#888;text-align:right;}
.summary-ticket .total b{display:block;color:var(--navy);font-size:18px;font-family:var(--font-head);margin-top:4px;}
.summary-ticket .perf{position:absolute;top:0;bottom:0;right:32%;width:1px;border-left:2px dashed #e0e2ea;}
.summary-ticket .tear{position:absolute;top:50%;right:31%;transform:translate(50%,-50%) rotate(180deg);writing-mode:vertical-rl;font-size:9px;letter-spacing:2px;color:#c4c4c4;}

.checkout-btn{width:100%;background:#cfd2dc;color:#fff;border:none;padding:16px;border-radius:0 0 16px 16px;font-weight:600;font-size:15px;letter-spacing:.4px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:not-allowed;transition:.2s;}
.checkout-btn.ready{background:var(--pink);cursor:pointer;}
.checkout-btn.ready:hover{background:var(--pink-dark);}

/* GroupPay */
.grouppay{background:#fff;border:1px solid #ecedf2;border-radius:14px;padding:26px;box-shadow:var(--shadow-card);}
.grouppay-logo img{max-width:215px;width:100%;height:auto;display:block;}
.secure-badge{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;}
.grouppay-logo{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.grouppay-logo .gp-ico{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;}
.grouppay-logo .gp-name{font-family:var(--font-head);font-weight:700;font-size:22px;color:#2e8a40;}
.grouppay-logo .gp-name span{color:var(--navy);}
.grouppay h4{font-size:17px;color:var(--navy);margin-bottom:8px;font-family:var(--font-head);}
.grouppay p{font-size:14.5px;margin-bottom:18px;}

/* secure / payments */
.secure-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.secure-row .lock{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--navy);font-weight:500;}
.secure-row .stripe{background:var(--navy);color:#fff;font-size:11px;font-weight:600;padding:6px 10px;border-radius:5px;}
.pay-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.pay-cards .card{height:30px;width:46px;border:1px solid #e6e8ef;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:700;color:#555;background:#fff;}

/* ---- SIMILAR EVENTS ---- */
.similar{padding:60px 0;}
.similar h2{font-size:30px;}
.similar .uline{margin:16px 0 30px;}

/* ---- RESPONSIVE ---- */
@media (max-width:900px){
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .gallery .g-main{grid-row:auto;grid-column:1/3;}
  .detail-layout{display:flex;flex-direction:column;gap:34px;}
  .sidebar{display:contents;}
  .detail-layout > .detail-main{order:2;}
  .sidebar > .book-now{order:1;}
  .sidebar > .grouppay{order:3;}
  .sidebar > div:not(.book-now):not(.grouppay):not(.why-box){order:4;}
  .sidebar > .why-box{order:5;}
}
@media (max-width:600px){
  .event-detail-head h1{font-size:28px;}
  .gallery{grid-template-columns:1fr 1fr;gap:10px;}
  .detail-main h2{font-size:23px;}
}
