*{margin:0;padding:0;box-sizing:border-box}
:root{
  --primary-color:#1076B4;
  --secondary-color:#40ABA7;
  --dark-blue:#07334E;
  --light-blue:#E3EFF7;
  --text-gray:#646464;
  --text-dark:#4C4D4D;
  --border-gray:rgba(100,100,100,.5);
  --red-price:#E21A20;
  --card-shadow:2px 2px 2px rgba(100,100,100,.25);
}

html{scroll-behavior:smooth}
::selection{background-color:var(--primary-color);color:#fff}

body{
  font-family:'Cairo',sans-serif;
  background-color:var(--light-blue);
  color:var(--dark-blue);
  line-height:1.6;
  overflow-x:clip;
}

/* WYSIWYG output */
.offer-description p{
  font-size:20px;
  font-weight:600;
  color:var(--text-gray);
  text-align:right;
  line-height:1.4;
  margin-bottom:12px;
}

.container{max-width:1440px;margin:0 auto;padding:20px 47px}

/* Breadcrumb */
.breadcrumb{
  text-align:center;margin:34px 0 30px;
  font-size:24px;color:rgba(7,51,78,.8);
  font-weight:600;
}
.breadcrumb .active{font-weight:700}
.breadcrumb .current{color:var(--dark-blue);font-weight:700}
.breadcrumb .separator{margin:0 10px;font-size:32px}

/* Title */
.page-title{
  font-size:40px;font-weight:700;color:var(--dark-blue);
  text-align:right;margin-bottom:33px;
}

/* Layout */
.content-wrapper{display:flex;gap:24px;align-items:flex-start}
.sidebar{
  width:374px;flex-shrink:0;
  display:flex;flex-direction:column;gap:24px;
}
.main-content{flex:1;display:flex;flex-direction:column;gap:24px}

/* Cards */
.card{
  background:#fff;box-shadow:var(--card-shadow);
  border-radius:10px;padding:20px;
}
.card-title{
  font-size:24px;font-weight:700;color:var(--primary-color);
  margin-bottom:20px;text-align:right;
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 30px rgba(16,118,180,.2);
  transition:all .3s ease;
}

/* Trip details */
.trip-details-list{
  list-style:none;display:flex;flex-direction:column;gap:12px;
}
.trip-details-list li{
  font-size:20px;text-align:right;
  position:relative;padding-right:20px;
}
.trip-details-list li::before{
  content:'•';position:absolute;right:0;
  color:var(--primary-color);font-size:24px;
}
.trip-details-list .label{color:var(--text-gray);font-weight:700}
.trip-details-list .value{
  color:var(--primary-color);font-weight:600;font-size:24px;
}

/* Booking */
.booking-card{padding:21px 13px}
.booking-form{display:flex;flex-direction:column;gap:12px}
.form-group{display:flex;flex-direction:column;gap:4px}
.form-group label{font-size:16px;font-weight:600;color:var(--text-gray);text-align:right}
.input-wrapper{position:relative;display:flex;align-items:center}
.input-wrapper input{
  width:100%;padding:10px 40px 10px 10px;
  border:1px solid var(--border-gray);
  border-radius:5px;font-size:16px;
  font-family:'Cairo',sans-serif;text-align:right;
}
.input-wrapper input:focus{
  outline:none;border-color:var(--primary-color);
  box-shadow:0 0 0 3px rgba(16,118,180,.1);
}
.input-wrapper input::placeholder{color:#A6A4A4;font-weight:500}
.input-icon{position:absolute;right:10px;width:24px;height:24px;pointer-events:none}

/* Price box */
.price-box{
  border:2px solid var(--secondary-color);
  border-radius:10px;padding:10px;
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;margin-top:12px;
}
.price-label{font-size:24px;font-weight:500;color:var(--primary-color)}
.price-value{display:flex;align-items:center;gap:4px}
.price{font-size:32px;font-weight:700;color:var(--red-price)}
.currency-icon{width:20px;height:20px}

/* Submit */
.btn-submit{
  background:linear-gradient(63.39deg,#1076B4 4.94%,#40ABA7 98.5%);
  color:#fff;font-size:24px;font-weight:700;
  padding:17px;border:none;border-radius:10px;
  cursor:pointer;font-family:'Cairo',sans-serif;margin-top:12px;
}

/* Contact */
.contact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.whatsapp-icon{width:40px;height:40px}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-item{
  display:flex;align-items:center;gap:12px;
  font-size:24px;font-weight:600;color:var(--text-gray);
}
.contact-icon{width:40px;height:40px}

/* Description */
.description-card{border:2px solid var(--border-gray)}
.description-top{display:flex;gap:20px;margin-bottom:20px}
.tour-image{
  width:325px;height:384px;
  object-fit:cover;border-radius:10px;flex-shrink:0;
}
.description-text{flex:1;display:flex;flex-direction:column;gap:16px}
.description-header{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.description-header h2{font-size:32px;font-weight:700;color:var(--primary-color)}
.description-icon{width:50px;height:50px}

/* Hotels table */
.hotels-table{margin-top:8px}
.hotels-header{
  display:grid;grid-template-columns:1fr 2fr 1fr 1fr;
  gap:24px;padding:12px 24px;
  border:2px solid var(--border-gray);
  border-radius:5px;margin-bottom:8px;
}
.header-item{display:flex;align-items:center;gap:8px;justify-content:center}
.header-item span{font-size:24px;font-weight:700;color:var(--primary-color)}
.header-icon{width:40px;height:40px}

.hotel-row{
  display:grid;grid-template-columns:1fr 2fr 1fr 1fr;
  gap:24px;padding:12px 24px;
  border:2px solid var(--border-gray);
  margin-bottom:8px;
}
.hotel-row:hover{background-color:rgba(16,118,180,.05);border-color:var(--primary-color)}
.hotel-cell{display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--text-dark)}
.stars-rating{display:flex;gap:4px}
.star{width:20px;height:20px}

/* Header with icon */
.card-header-with-icon{
  display:flex;align-items:center;gap:12px;justify-content:flex-end;
  padding:10px 24px;border-bottom:.5px solid var(--primary-color);
  margin-bottom:16px;
}
.card-header-with-icon.main-header{border-bottom:.5px solid #A9A9A9}
.card-header-with-icon h2{font-size:24px;font-weight:700;color:var(--primary-color)}

/* Includes / Excludes */
.includes-list,.excludes-list{
  list-style:none;display:flex;flex-direction:column;gap:16px;padding-right:0
}
.includes-list li,.excludes-list li{
  font-size:20px;font-weight:600;color:var(--text-gray);
  text-align:right;padding-right:30px;position:relative;
}
.includes-list li::before{
  content:'✓';position:absolute;right:0;
  color:var(--secondary-color);font-size:24px;font-weight:700;
}
.excludes-list li::before{
  content:'✗';position:absolute;right:0;
  color:var(--red-price);font-size:24px;font-weight:700;
}

/* Notes */
.notes-content{display:flex;flex-direction:column;gap:16px}
.note-section h3{font-size:20px;font-weight:600;color:var(--primary-color);text-align:right;margin-bottom:8px}
.note-section p{font-size:20px;font-weight:600;color:var(--text-gray);text-align:right;line-height:1.8}
.note-highlight{font-size:20px;font-weight:600;color:var(--primary-color);text-align:right}

/* Accordion */
.itinerary-item{border-bottom:.5px solid #A9A9A9}
.itinerary-item:last-child{border-bottom:none}
.itinerary-header{
  display:flex;align-items:center;gap:20px;
  padding:12px 24px;cursor:pointer;
}
.itinerary-header:hover{background-color:rgba(16,118,180,.05)}
.day-number{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.day-badge{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--secondary-color),var(--primary-color));
  color:#fff;font-weight:800;
}
.itinerary-title{
  flex:1;font-size:24px;font-weight:600;color:var(--text-dark);
  text-align:right;
}
.expand-btn{
  width:36px;height:36px;background:none;border:none;cursor:pointer;
  transition:transform .3s ease;flex-shrink:0;
}
.expand-btn.active{transform:rotate(45deg)}
.plus-icon{width:100%;height:100%;object-fit:contain}
.itinerary-content{
  max-height:0;overflow:hidden;
  padding:0 24px;transition:all .4s ease;opacity:0;
}
.itinerary-content.active{
  max-height:500px;padding:0 24px 24px;opacity:1;
}
.itinerary-content p{
  font-size:18px;font-weight:500;color:var(--text-gray);
  text-align:right;line-height:1.8;
}

/* Responsive */
@media (max-width:1200px){
  .content-wrapper{flex-direction:column}
  .sidebar{width:100%}
  .description-top{flex-direction:column}
  .tour-image{width:100%;height:400px}
}
@media (max-width:768px){
  .hotels-header,.hotel-row{grid-template-columns:1fr;gap:12px}
  .breadcrumb{font-size:16px}
  .page-title{font-size:28px}
}
