/* Packages listing page — premium ocean layout.
   Loaded after /assets/shared-site.css so it only styles the page body and cards. */

body.pkg-page,
body.pkg-page *,
body.pkg-page *::before,
body.pkg-page *::after{box-sizing:border-box}

body.pkg-page{
  --pkg-deep:#062b3b;
  --pkg-deep-2:#0b4658;
  --pkg-teal:#0ba9a2;
  --pkg-teal-dark:#078b85;
  --pkg-mint:#a8e8d9;
  --pkg-paper:#fbfcf8;
  --pkg-ink:#102d38;
  --pkg-muted:#647c83;
  --pkg-line:#e2ebe7;
  --pkg-gold:#f2b544;
  --pkg-shadow:0 18px 45px rgba(6,43,59,.09);
  margin:0;
  background:var(--pkg-paper);
  color:var(--pkg-ink);
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  line-height:1.5;
}

.pkg-page a:focus-visible,
.pkg-page button:focus-visible,
.pkg-page input:focus-visible{outline:3px solid rgba(11,169,162,.55);outline-offset:3px}

.pkg-skip{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:2000;
  padding:12px 18px;
  border-radius:0 0 12px 0;
  background:#fff;
  color:var(--pkg-deep);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(6,43,59,.18);
}
.pkg-skip:focus{left:0}

/* Hero ------------------------------------------------------------------ */
.pkg-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--pkg-deep);
  color:#fff;
}
.pkg-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(3,29,43,.93) 0%,rgba(3,37,50,.79) 46%,rgba(3,37,50,.42) 100%),
    url('/images/Nusa-Penida-Snorkeling-Tours-slide2.png') center 48%/cover no-repeat;
}
.pkg-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 82% 18%,rgba(53,226,207,.18),transparent 46%),
    linear-gradient(0deg,rgba(3,30,43,.58),transparent 48%);
}
.pkg-hero-inner{
  width:min(1240px,calc(100% - 44px));
  margin:0 auto;
  padding:62px 0 70px;
}
.pkg-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 26px;
  font-size:11px;
  font-weight:600;
  color:rgba(226,244,244,.72);
}
.pkg-breadcrumb a{
  color:#c9ece8;
  text-decoration:none;
}
.pkg-breadcrumb a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pkg-breadcrumb .pkg-sep{opacity:.5}

.pkg-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9ff0e1;
}
.pkg-kicker::before{
  content:"";
  width:28px;
  height:1px;
  background:currentColor;
  opacity:.8;
}
.pkg-hero h1{
  max-width:860px;
  margin:16px 0 18px;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(38px,5.6vw,64px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.055em;
}
.pkg-hero h1 em{
  font-style:normal;
  color:#8de6d7;
}
.pkg-hero-lead{
  max-width:640px;
  margin:0;
  font-size:16px;
  line-height:1.8;
  color:#d6e9ea;
}
.pkg-hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:920px;
  margin-top:38px;
  overflow:hidden;
  border:1px solid rgba(220,245,240,.18);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.pkg-stat{
  padding:18px 22px;
  border-right:1px solid rgba(220,245,240,.14);
}
.pkg-stat:last-child{border-right:0}
.pkg-stat strong{
  display:block;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:19px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#fff;
}
.pkg-stat span{
  display:block;
  margin-top:4px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#a9c9cc;
}

/* Listing --------------------------------------------------------------- */
.pkg-main{padding:70px 0 84px}
.pkg-wrap{
  width:min(1240px,calc(100% - 44px));
  margin:0 auto;
}
.pkg-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:28px;
}
.pkg-section-head h2{
  margin:8px 0 0;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(28px,3.4vw,42px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.05em;
  color:var(--pkg-deep);
}
.pkg-head-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
  flex:0 0 auto;
}
.pkg-count{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border:1px solid #d7ebe3;
  border-radius:99px;
  background:#eaf6f1;
  color:#087f7e;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}
.pkg-head-meta p{
  max-width:390px;
  margin:0;
  color:var(--pkg-muted);
  font-size:12.5px;
  line-height:1.7;
  text-align:right;
}

/* Pickup filter --------------------------------------------------------- */
.pkg-filter{
  margin:0 0 34px;
  padding:24px;
  border:1px solid #d7ebe3;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff,#f7fbf9);
  box-shadow:0 18px 42px rgba(6,43,59,.075);
}
.pkg-filter-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.pkg-filter-top h3{
  margin:4px 0 0;
  color:var(--pkg-deep);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:22px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.04em;
}
.pkg-filter-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#0a9994;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.pkg-filter-kicker::before{
  content:"";
  width:24px;
  height:1px;
  background:currentColor;
}
.pkg-filter-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.pkg-filter-top h3{
  margin:4px 0 0;
  color:var(--pkg-deep);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:21px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.035em;
}
.pkg-filter-help{
  max-width:400px;
  margin:0;
  color:var(--pkg-muted);
  font-size:12px;
  line-height:1.65;
  text-align:right;
}
.pkg-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pkg-chip{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:9px 12px;
  border:1px solid #dce9e3;
  border-radius:99px;
  background:#f6faf8;
  color:#45616b;
  font-size:11.5px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.pkg-chip:hover{
  border-color:#b9d9cf;
  background:#edf7f2;
  color:var(--pkg-deep);
}
.pkg-chip input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.pkg-chip:focus-within{
  outline:3px solid rgba(11,169,162,.45);
  outline-offset:2px;
}
.pkg-chip small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:99px;
  background:#e2eeea;
  color:#64808a;
  font-size:9.5px;
  font-weight:800;
}
.pkg-chip.is-active{
  border-color:var(--pkg-teal);
  background:var(--pkg-deep);
  color:#fff;
  box-shadow:0 7px 16px rgba(6,43,59,.14);
}
.pkg-chip.is-active small{
  background:rgba(255,255,255,.18);
  color:#d9fff7;
}
.pkg-chip-all{
  border-style:dashed;
}
.pkg-chip-sm{
  padding:7px 10px;
  font-size:10.5px;
  font-weight:700;
}
.pkg-filter-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.pkg-filter-group{
  min-width:0;
  margin:0;
  padding:12px;
  border:1px solid #e6efea;
  border-radius:14px;
  background:#fbfdfc;
}
.pkg-filter-group legend{
  padding:0 5px;
  color:#7a929a;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.pkg-filter-foot{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #edf3ef;
}
.pkg-filter-apply{
  padding:10px 16px;
  border:0;
  border-radius:99px;
  background:var(--pkg-teal);
  color:#fff;
  font:inherit;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
}
.pkg-filter-apply:hover{background:var(--pkg-teal-dark)}
.pkg-filter-clear{
  color:#5f7a82;
  font-size:11px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.pkg-filter-clear:hover{color:var(--pkg-deep)}
.pkg-filter-result{
  margin-left:auto;
  color:#7a929a;
  font-size:11px;
  font-weight:700;
}
.pkg-filter-empty{
  margin:18px 0 0;
  padding:18px;
  border:1px dashed #cfe1da;
  border-radius:14px;
  background:#f8fcfa;
  color:#617b83;
  font-size:12.5px;
  text-align:center;
}
.pkg-empty-actions{margin:18px 0 0}
.pkg-empty-actions .pkg-btn{
  background:var(--pkg-deep);
  color:#fff;
}
.trip-card[hidden]{display:none!important}

.pkg-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}

.trip-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--pkg-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(6,43,59,.07);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.trip-card:hover{
  transform:translateY(-5px);
  border-color:#cfe3dc;
  box-shadow:0 24px 54px rgba(6,43,59,.14);
}
.trip-card.is-featured{
  border-color:#ecd9a5;
  box-shadow:0 16px 40px rgba(146,104,18,.11);
}
.trip-card.is-featured:hover{box-shadow:0 26px 58px rgba(146,104,18,.16)}

.trip-media{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#d8ece8;
}
.trip-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(transparent,rgba(3,31,43,.26));
  pointer-events:none;
}
.trip-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.trip-card:hover .trip-media img{transform:scale(1.045)}
.trip-media-ph{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0b5267,#0ba9a2);
  color:rgba(255,255,255,.8);
}
.trip-media-ph svg{
  width:64px;
  height:64px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.6;
}
.trip-flag{
  position:absolute;
  z-index:2;
  top:15px;
  left:15px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:99px;
  background:rgba(5,40,54,.82);
  color:#eafff8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.trip-card.is-featured .trip-flag{
  border-color:rgba(255,255,255,.6);
  background:linear-gradient(135deg,#f7c65a,#e6a128);
  color:#3b2606;
  box-shadow:0 6px 16px rgba(104,68,4,.18);
}

.trip-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}
.trip-kicker{
  margin:0 0 9px;
  color:#0a9994;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.trip-body h2{
  margin:0 0 9px;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:25px;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.035em;
  color:var(--pkg-deep);
}
.trip-body h2 a{
  color:inherit;
  text-decoration:none;
}
.trip-body h2 a:hover{color:var(--pkg-teal-dark)}
.trip-desc{
  margin:0 0 17px;
  color:var(--pkg-muted);
  font-size:13.5px;
  line-height:1.75;
}
.trip-facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 15px;
  padding:0;
  list-style:none;
}
.trip-facts li{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid #e6efea;
  border-radius:9px;
  background:#f2f8f5;
  color:#45616b;
  font-size:10.5px;
  font-weight:700;
  line-height:1.25;
}
.trip-facts svg{
  width:13px;
  height:13px;
  flex:0 0 auto;
  fill:none;
  stroke:#0a9994;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trip-list{
  display:grid;
  gap:7px;
  margin:0 0 20px;
  padding:0;
  list-style:none;
}
.trip-list li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#526d77;
  font-size:12.5px;
  line-height:1.45;
}
.trip-list svg{
  width:15px;
  height:15px;
  flex:0 0 auto;
  margin-top:1px;
  fill:none;
  stroke:#0ba9a2;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trip-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:auto;
  padding-top:17px;
  border-top:1px solid #edf1ee;
}
.trip-price span{
  display:block;
  color:#8a9ba0;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.trip-price strong{
  display:block;
  margin-top:1px;
  color:var(--pkg-deep);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:22px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.02em;
}
.trip-price small{
  display:block;
  margin-top:2px;
  color:#8a9ba0;
  font-size:10px;
}
.trip-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 17px;
  border-radius:99px;
  background:var(--pkg-deep);
  color:#fff;
  font-size:11.5px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 9px 20px rgba(6,43,59,.14);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.trip-cta svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}
.trip-cta:hover{
  background:var(--pkg-teal-dark);
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(6,43,59,.19);
}
.trip-cta:hover svg{transform:translateX(2px)}

/* Empty state ----------------------------------------------------------- */
.pkg-empty{
  padding:54px 28px;
  border:1px solid var(--pkg-line);
  border-radius:24px;
  background:#fff;
  text-align:center;
  box-shadow:var(--pkg-shadow);
}
.pkg-empty-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:0 auto 16px;
  border-radius:17px;
  background:#e6f5f1;
  color:#078b85;
}
.pkg-empty-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pkg-empty h2{
  margin:0 0 7px;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--pkg-deep);
}
.pkg-empty p{
  max-width:440px;
  margin:0 auto;
  color:var(--pkg-muted);
  font-size:13px;
  line-height:1.7;
}

/* Help band ------------------------------------------------------------- */
.pkg-help{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  overflow:hidden;
  margin-top:54px;
  padding:34px 38px;
  border-radius:26px;
  background:linear-gradient(130deg,#073449,#0a5b68);
  color:#fff;
  box-shadow:0 20px 50px rgba(6,43,59,.16);
}
.pkg-help::before{
  content:"";
  position:absolute;
  top:-90px;
  right:-60px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(53,226,207,.2),transparent 68%);
  pointer-events:none;
}
.pkg-help-copy{position:relative}
.pkg-help h2{
  margin:0 0 7px;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(21px,2.5vw,28px);
  font-weight:800;
  letter-spacing:-.035em;
}
.pkg-help p{
  max-width:560px;
  margin:0;
  color:#c1d8da;
  font-size:12.5px;
  line-height:1.7;
}
.pkg-help-actions{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  flex:0 0 auto;
}
.pkg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:99px;
  font-size:11.5px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.pkg-btn:hover{transform:translateY(-2px)}
.pkg-btn-light{
  background:#fff;
  color:#073d50;
  box-shadow:0 9px 22px rgba(0,0,0,.14);
}
.pkg-btn-light:hover{background:#e9fbf6}
.pkg-btn-outline{
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);
  color:#fff;
}
.pkg-btn-outline:hover{background:rgba(255,255,255,.17)}

/* Responsive ------------------------------------------------------------ */
@media(max-width:1000px){
  .pkg-grid{grid-template-columns:1fr}
  .pkg-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pkg-stat{border-bottom:1px solid rgba(220,245,240,.14)}
  .pkg-stat:nth-child(2n){border-right:0}
  .pkg-stat:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:760px){
  .pkg-hero-inner,
  .pkg-wrap{width:min(100% - 32px,1240px)}
  .pkg-hero-inner{padding:46px 0 54px}
  .pkg-hero h1{font-size:clamp(34px,9vw,46px)}
  .pkg-hero-lead{font-size:14.5px}
  .pkg-section-head{display:block}
  .pkg-head-meta{align-items:flex-start;margin-top:12px}
  .pkg-head-meta p{text-align:left}
  .pkg-filter{padding:17px}
  .pkg-filter-top{display:block}
  .pkg-filter-help{max-width:none;margin-top:8px;text-align:left}
  .pkg-filter-groups{grid-template-columns:1fr}
  .pkg-filter-result{margin-left:0}
  .pkg-main{padding:54px 0 64px}
  .trip-body{padding:20px}
  .trip-body h2{font-size:23px}
  .pkg-help{display:block;padding:26px 22px;border-radius:20px}
  .pkg-help-actions{margin-top:18px}
}
@media(max-width:560px){
  .trip-foot{flex-wrap:wrap}
  .trip-cta{width:100%;justify-content:center}
  .pkg-hero-stats{border-radius:14px}
  .pkg-stat{padding:14px 16px}
  .pkg-stat strong{font-size:16px}
  .pkg-help-actions .pkg-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .pkg-page *,
  .pkg-page *::before,
  .pkg-page *::after{transition:none!important;animation:none!important}
  .trip-card:hover,
  .trip-cta:hover,
  .pkg-btn:hover{transform:none}
  .trip-card:hover .trip-media img{transform:none}
}
