:root {
    --green:#173f35;
 --green2:#0f3028;
    --gold:#c6a15b;
    --cream:#f6f2e9;
    --paper:#fffdf8;
    --ink:#18231f;
    --muted:#6b746f;
    --line:#e8e3d8;
    --shadow:0 20px 60px rgba(24,35,31,.09);
    --radius:24px
}
* {
    box-sizing:border-box;
    margin:0;
    padding:0
}
html {
    scroll-behavior:smooth
}
body {
    font-family:'DM Sans',sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6
}
a {
    text-decoration:none;
    color:inherit
}
img {
    display:block;
    width:100%;
    object-fit:cover
}
.container {
    width:min(1160px,calc(100% - 40px));
    margin:auto
}
.header {
    position:fixed;
    z-index:1000;
    top:0;
    left:0;
    width:100%;
    transition:.3s;
    color:#fff
}
.header.scrolled {
    background:rgba(15,48,40,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 8px 30px rgba(0,0,0,.12)
}
.nav-wrap {
    height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between
}
.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.logo img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.logo span {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: bold;
    color: #d9b45b;
}

.logo b {
    color: #fff;
}
.nav-menu {
    display:flex;
    align-items:center;
    gap:25px;
    font-size:14px;
    font-weight:600
}
.nav-menu>a {
    opacity:.9;
    position:relative
}
.nav-menu>a:not(.nav-cta):after {
    content:'';
    position:absolute;
    bottom:-8px;
    left:0;
    width:0;
    height:2px;
    background:var(--gold);
    transition:.25s
}
.nav-menu>a:hover:after,.nav-menu>a.active:after {
    width:100%
}
.nav-cta {
    padding:11px 18px;
    background:var(--gold);
    border-radius:8px;
    color:#18231f!important
}
.nav-toggle {
    display:none;
    border:0;
    background:none;
    color:#fff;
    font-size:22px
}
.hero {
    height:760px;
    position:relative;
    color:#fff;
    overflow:hidden;
    background:var(--green)
}
.hero-bg {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(10,35,29,.94) 0%,rgba(10,35,29,.72) 40%,rgba(10,35,29,.18) 100%),url('../images/hero2.jpg') center/cover
}
.hero-content {
    height:100%;
    display:flex;
    align-items:center;
    position:relative
}
.hero-copy {
    max-width:650px;
    padding-top:50px
}
.eyebrow,.section-label {
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:11px;
    font-weight:700;
    color:var(--gold)
}
.hero h1 {
    font-family:'Playfair Display',serif;
    font-size:clamp(50px,7vw,88px);
    line-height:1.02;
    margin:18px 0 24px
}
.hero h1 em {
    color:#d9bd7e;
    font-style:normal
}
.hero p {
    font-size:17px;
    color:rgba(255,255,255,.82);
    max-width:560px
}
.hero-actions {
    display:flex;
    gap:12px;
    margin-top:32px
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 23px;
    border-radius:8px;
    font-weight:700;
    font-size:14px;
    border:1px solid transparent;
    transition:.25s;
    cursor:pointer
}
.btn:hover {
    transform:translateY(-2px)
}
.btn-gold {
    background:var(--gold);
    color:#18231f
}
.btn-light-outline {
    border-color:rgba(255,255,255,.45);
    color:#fff
}
.btn-dark {
    background:var(--green);
    color:#fff
}
.hero-trust {
    display:flex;
    gap:25px;
    margin-top:25px;
    font-size:12px;
    color:rgba(255,255,255,.75)
}
.hero-trust i {
    color:var(--gold)
}
.hero-scroll {
    position:absolute;
    right:40px;
    bottom:35px;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:2px;
    writing-mode:vertical-rl
}
.hero-scroll i {
    color:var(--gold)
}
.booking-strip {
    margin-top:-65px;
    position:relative;
    z-index:5
}
.booking-card {
    background:#fff;
    border-radius:16px;
    box-shadow:var(--shadow);
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1.1fr auto;
    align-items:center;
    padding:22px 25px;
    gap:18px
}
.booking-title {
    display:flex;
    flex-direction:column
}
.booking-title span {
    font-size:12px;
    color:var(--muted)
}
.booking-title strong {
    font-family:'Playfair Display',serif;
    font-size:21px
}
.booking-card label {
    border-left:1px solid var(--line);
    padding-left:18px;
    display:flex;
    flex-direction:column;
    gap:2px
}
.booking-card small {
    font-size:10px;
    text-transform:uppercase;
    color:var(--muted);
    letter-spacing:1px
}
.booking-card label span {
    font-size:13px;
    font-weight:600
}
.booking-card label i {
    color:var(--gold);
    margin-right:5px
}
.section {
    padding:105px 0
}
.section-soft {
    background:var(--cream)
}
.two-col {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center
}
.image-card {
    height:580px;
    border-radius:var(--radius);
    overflow:hidden;
    position:relative
}
.image-card:after {
    content:'';
    position:absolute;
    inset:15px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:18px
}
.image-card img {
    height:100%
}
.intro-copy h2,.why-copy h2 {
    font-family:'Playfair Display',serif;
    font-size:clamp(36px,4vw,54px);
    line-height:1.1;
    margin:15px 0 22px
}
.intro-copy>p,.why-copy>p {
    color:var(--muted);
    font-size:16px;
    max-width:550px
}
.mini-features {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin:35px 0
}
.mini-features>div {
    display:flex;
    gap:13px
}
.mini-features i {
    color:var(--gold);
    font-size:19px;
    padding-top:3px
}
.mini-features span {
    display:flex;
    flex-direction:column
}
.mini-features b {
    font-size:13px
}
.mini-features small {
    font-size:11px;
    color:var(--muted);
    margin-top:3px
}
.text-link {
    font-size:13px;
    font-weight:700;
    color:var(--green);
    display:inline-flex;
    gap:8px;
    align-items:center
}
.section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:38px
}
.section-head h2 {
    font-family:'Playfair Display',serif;
    font-size:46px;
    line-height:1.1;
    margin-top:9px
}
.tour-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.tour-card {
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 35px rgba(24,35,31,.06);
    transition:.3s
}
.tour-card:hover {
    transform:translateY(-6px);
    box-shadow:var(--shadow)
}
.tour-card>img {
    height:235px
}
.tour-body {
    padding:24px
}
.tour-body>span {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    color:var(--gold);
    font-weight:700
}
.tour-body h3 {
    font-family:'Playfair Display',serif;
    font-size:25px;
    margin:7px 0
}
.tour-body p {
    font-size:13px;
    color:var(--muted);
    min-height:43px
}
.tour-bottom {
    border-top:1px solid var(--line);
    margin-top:20px;
    padding-top:17px;
    display:flex;
    justify-content:space-between;
    align-items:center
}
.tour-bottom strong {
    font-size:13px
}
.tour-bottom a {
    font-size:12px;
    color:var(--green);
    font-weight:700
}
.fleet-section {
    padding-bottom:115px
}
.fleet-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.fleet-card {
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    background:#fff
}
.fleet-image {
    height:260px;
    position:relative;
    background:var(--cream);
    overflow:hidden
}
.fleet-image img {
    height:100%;
    transition:.4s
}
.fleet-card:hover img {
    transform:scale(1.04)
}
.fleet-image span {
    position:absolute;
    z-index:2;
    top:15px;
    left:15px;
    background:#fff;
    padding:6px 10px;
    border-radius:6px;
    font-size:10px;
    font-weight:700;
    color:var(--green)
}
.fleet-info {
    display:flex;
    justify-content:space-between;
    padding:20px 22px
}
.fleet-info h3 {
    font-family:'Playfair Display',serif;
    font-size:22px
}
.fleet-info p {
    font-size:11px;
    color:var(--muted)
}
.fleet-info>strong {
    font-size:15px;
    color:var(--green)
}
.fleet-info small {
    font-size:10px;
    color:var(--muted);
    font-weight:400
}
.stats-section {
    background:var(--green);
    color:#fff;
    padding:55px 0
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    text-align:center
}
.stats-grid>div {
    border-right:1px solid rgba(255,255,255,.13);
    display:flex;
    flex-direction:column
}
.stats-grid>div:last-child {
    border:0
}
.stats-grid strong {
    font-family:'Playfair Display',serif;
    font-size:40px;
    color:#d9bd7e
}
.stats-grid span {
    font-size:11px;
    color:rgba(255,255,255,.65);
    text-transform:uppercase;
    letter-spacing:1px
}
.why-image {
    height:540px;
    border-radius:var(--radius);
    overflow:hidden
}
.why-image img {
    height:100%
}
.check-list {
    list-style:none;
    margin:27px 0 32px;
    display:grid;
    gap:13px
}
.check-list li {
    font-size:14px;
    font-weight:600
}
.check-list i {
    width:23px;
    height:23px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eee8d9;
    border-radius:50%;
    font-size:10px;
    color:var(--green);
    margin-right:10px
}
.cta-section {
    padding:0 0 100px
}
.cta-box {
    background:var(--cream);
    padding:60px 70px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.cta-box h2 {
    font-family:'Playfair Display',serif;
    font-size:45px;
    margin:7px 0px;
}
.cta-box p {
    font-size:14px;
    color:var(--muted);
}
.footer {
    background:#0d2922;
    color:#fff;
    padding:70px 0 25px;
}
.footer-grid {
    display:grid;
    grid-template-columns:1.6fr 1fr 1fr 1.3fr;
    gap:45px;
}
.footer-logo {
    display:block;
    margin-bottom:17px;
}

.footer-grid>div>p {
    font-size:12px;
    color:rgba(255,255,255,.55);
    max-width:280px;
    margin-top: 5px;
}
.footer h4 {
    font-size:13px;
    margin-bottom:18px;
    color:#d9bd7e
}
.footer-grid a:not(.logo) {
    display:block;
    font-size:12px;
    color:rgba(255,255,255,.58);
    margin-bottom:10px
}
.footer-grid p {
    margin-bottom:10px
}
.footer-grid p i {
    width:20px;
    color:var(--gold)
}
.socials {
    display:flex;
    gap:8px;
    margin-top:22px
}
.socials a {
    width:34px;
    height:34px!important;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    display:flex!important;
    align-items:center;
    justify-content:center;
    color:#fff!important
}
.copyright {
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:50px;
    padding-top:20px;
    color:rgba(255,255,255,.35);
    font-size:10px;
}
.floating-wa {
    position:fixed;
    right:22px;
    bottom:22px;
    width:54px;
    height:54px;
    background:#1bbf63;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    z-index:100;
    box-shadow:0 10px 30px rgba(0,0,0,.2)
}
.reveal {
    opacity:0;
    transform:translateY(25px);
    transition:opacity .7s ease,transform .7s ease
}
.reveal.show {
    opacity:1;
    transform:none
}
/* =========================
   KARTU RENTAL MOBIL
========================= */

.rental-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.rental-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
    transition: .3s ease;
}

.rental-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,.13);
}

.rental-image {
    height: 280px;
    overflow: hidden;
    position: relative;
    background: #f3f1eb;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rental-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.rental-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
    background: #d5ad52;
    color: #172c2b;
    padding: 7px 13px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
}

.rental-info {
    padding: 22px;
}

.rental-info h3 {
    margin: 0 0 8px;
    color: #123d3b;
    font-size: 20px;
}

.capacity {
    color: #777;
    font-size: 14px;
    margin-bottom: 20px;
}

.capacity i {
    color: #c69c42;
    margin-right: 6px;
}

.rental-bottom {
    border-top: 1px solid #eee;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.price {
    display: flex;
    flex-direction: column;
}

.price small {
    color: #888;
    font-size: 11px;
}

.price strong {
    color: #123d3b;
    font-size: 20px;
}

.price span {
    color: #888;
    font-size: 12px;
}

.btn-rental {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #d5ad52;
    color: #172c2b;
    padding: 11px 15px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.btn-rental:hover {
    background: #b98f35;
    color: #fff;
}

.rental-note {
    margin-top: 30px;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    background: #063c3b;
    border-radius: 12px;
    color: #fff;
}

.rental-note > i {
    color: #d5ad52;
    font-size: 25px;
}

.rental-note strong {
    font-size: 15px;
}

.rental-note p {
    margin: 4px 0 0;
    color: #d8e4e2;
    font-size: 13px;
}

.rental-driver-section {
    background: #f4f1e8;
}

@media (max-width: 900px) {
    .rental-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .rental-grid {
        grid-template-columns: 1fr;
    }

    .rental-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-rental {
        justify-content: center;
    }
}
@media(max-width:1050px) {
 .nav-menu {
    gap:14px
}
 .booking-card {
    grid-template-columns:1fr 1fr 1fr
}
 .booking-title {
    grid-column:1/-1
}
 .booking-card label:nth-of-type(1) {
    border-left:0;
    padding-left:0
}
 .two-col {
    gap:45px
}
}
@media(max-width:800px) {
 .container {
    width:min(100% - 28px,600px)
}
 .nav-toggle {
    display:block
}
 .nav-menu {
    position:absolute;
    top:82px;
    left:14px;
    right:14px;
    background:var(--green2);
    padding:20px;
    border-radius:12px;
    display:none;
    flex-direction:column;
    align-items:stretch
}
 .nav-menu.open {
    display:flex
}
 .nav-menu a {
    padding:7px
}
 .hero {
    height:700px
}
 .hero-bg {
    background:linear-gradient(90deg,rgba(10,35,29,.9),rgba(10,35,29,.5)),url('../images/hero2.jpg') center/cover
}
 .hero-copy {
    padding-top:80px
}
 .hero h1 {
    font-size:58px
}
 .hero-scroll {
    display:none
}
 .booking-strip {
    margin-top:-40px
}
 .booking-card {
    grid-template-columns:1fr 1fr;
    padding:20px
}
 .booking-card .btn {
    grid-column:1/-1
}
 .section {
    padding:75px 0
}
 .two-col {
    grid-template-columns:1fr;
    gap:45px
}
 .image-card,.why-image {
    height:430px
}
 .section-head {
    display:block
}
 .section-head .text-link {
    margin-top:17px
}
 .section-head h2 {
    font-size:38px
}
 .tour-grid,.fleet-grid {
    grid-template-columns:1fr
}
 .tour-card>img {
    height:260px
}
 .stats-grid {
    grid-template-columns:1fr 1fr;
    gap:30px
}
 .stats-grid>div:nth-child(2) {
    border:0
}
 .stats-grid strong {
    font-size:34px
}
 .cta-box {
    padding:40px 25px;
    display:block
}
 .cta-box .btn {
    margin-top:25px
}
 .footer-grid {
    grid-template-columns:1fr 1fr
}
 .mini-features {
    gap:20px
}
}
@media(max-width:500px) {
 .hero h1 {
    font-size:49px
}
 .hero p {
    font-size:15px
}
 .hero-actions {
    flex-direction:column;
    align-items:stretch
}
 .hero-trust {
    display:block
}
 .hero-trust span {
    display:block;
    margin-bottom:7px
}
 .booking-card {
    grid-template-columns:1fr
}
 .booking-card label {
    border-left:0;
    border-top:1px solid var(--line);
    padding:12px 0 0
}
 .booking-card label:first-of-type {
    border-top:0
}
 .mini-features {
    grid-template-columns:1fr
}
 .footer-grid {
    grid-template-columns:1fr
}
 .section-head h2 {
    font-size:34px
}
}
/* =========================
   KARTU RENTAL MOBIL
========================= */

.rental-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.rental-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
    transition: .3s ease;
}

.rental-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,.13);
}


.rental-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
    background: #d5ad52;
    color: #172c2b;
    padding: 7px 13px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
}

.rental-info {
    padding: 22px;
}

.rental-info h3 {
    margin: 0 0 8px;
    color: #123d3b;
    font-size: 20px;
}

.capacity {
    color: #777;
    font-size: 14px;
    margin-bottom: 20px;
}

.capacity i {
    color: #c69c42;
    margin-right: 6px;
}

.rental-bottom {
    border-top: 1px solid #eee;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.price {
    display: flex;
    flex-direction: column;
}

.price small {
    color: #888;
    font-size: 11px;
}

.price strong {
    color: #123d3b;
    font-size: 20px;
}

.price span {
    color: #888;
    font-size: 12px;
}

.btn-rental {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #d5ad52;
    color: #172c2b;
    padding: 11px 15px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.btn-rental:hover {
    background: #b98f35;
    color: #fff;
}

.rental-note {
    margin-top: 30px;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    background: #063c3b;
    border-radius: 12px;
    color: #fff;
}

.rental-note > i {
    color: #d5ad52;
    font-size: 25px;
}

.rental-note strong {
    font-size: 15px;
}

.rental-note p {
    margin: 4px 0 0;
    color: #d8e4e2;
    font-size: 13px;
}

.rental-driver-section {
    background: #f4f1e8;
}

@media (max-width: 900px) {
    .rental-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .rental-grid {
        grid-template-columns: 1fr;
    }

    .rental-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-rental {
        justify-content: center;
    }
}

/* =========================
   ALL INCLUDE
========================= */

.allinclude-section {
    background: #f5f2e9;
}

.allinclude-desc {
    margin-top: 10px;
    color: #777;
    max-width: 600px;
}

.allinclude-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.allinclude-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .08);
    transition: .3s ease;
}

.allinclude-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .13);
}


/* GAMBAR */

.allinclude-image {
    height: 280px;
    overflow: hidden;
    position: relative;
    background: #f3f1eb;
    display: flex;
    align-items: center;
    justify-content: center;
}

.allinclude-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.allinclude-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;

    background: #d5ad52;
    color: #173b38;

    padding: 7px 13px;
    border-radius: 30px;

    font-size: 12px;
    font-weight: 700;
}


/* INFORMASI */

.allinclude-info {
    padding: 22px;
}

.allinclude-info h3 {
    margin: 0 0 8px;
    color: #123d3b;
    font-size: 20px;
}

.allinclude-capacity {
    margin: 0 0 18px;
    color: #777;
    font-size: 14px;
}

.allinclude-capacity i {
    color: #c69c42;
    margin-right: 6px;
}


/* FITUR */

.include-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.include-items span {
    padding: 6px 9px;
    border-radius: 6px;

    background: #edf4f1;
    color: #315d58;

    font-size: 11px;
    font-weight: 600;
}

.include-items i {
    color: #c69c42;
    margin-right: 4px;
}


/* HARGA */

.allinclude-bottom {
    border-top: 1px solid #eee;
    padding-top: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
}

.allinclude-price {
    display: flex;
    flex-direction: column;
}

.allinclude-price small {
    color: #888;
    font-size: 11px;
}

.allinclude-price strong {
    color: #123d3b;
    font-size: 20px;
}


/* BUTTON */

.allinclude-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    background: #d5ad52;
    color: #173b38;

    padding: 11px 15px;
    border-radius: 8px;

    text-decoration: none;
    font-size: 12px;
    font-weight: 700;

    white-space: nowrap;
    transition: .3s ease;
}

.allinclude-btn:hover {
    background: #b98f35;
    color: #fff;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .allinclude-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 600px) {

    .allinclude-grid {
        grid-template-columns: 1fr;
    }

    .allinclude-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .allinclude-btn {
        justify-content: center;
    }

}
/* =========================================
   PAKET WISATA - MENGIKUTI TEMA WEBSITE
========================================= */

.paket-section {
    background: #fff;
}

.paket-intro {
    max-width: 390px;
    margin: 0;
    color: #777;
    font-size: 14px;
    line-height: 1.7;
}


/* CARD */

.paket-card {
    background: #fff;
    border: 1px solid #e7e3dc;
    border-radius: 0;
    overflow: hidden;
    transition: all .3s ease;
}

.paket-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .08);
}


/* IMAGE */

.paket-image {
    position: relative;
    height: 230px;
    overflow: hidden;
}

.paket-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s ease;
}

.paket-card:hover .paket-image img {
    transform: scale(1.05);
}


/* BADGE */

.paket-tag {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #222;
    color: #fff;
    padding: 7px 12px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .5px;
    border-radius: 3px;
}


/* DURASI */

.paket-duration {
    position: absolute;
    right: 15px;
    bottom: 15px;
    background: rgba(0, 0, 0, .75);
    color: #fff;
    padding: 7px 11px;
    font-size: 11px;
    border-radius: 3px;
}

.paket-duration i {
    margin-right: 4px;
}


/* BODY */

.paket-card .tour-body {
    padding: 22px;
}

.paket-kategori {
    color: #a88950;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.paket-card h3 {
    margin: 7px 0;
    font-size: 23px;
    color: #222;
}

.paket-card p {
    color: #777;
    font-size: 13px;
    line-height: 1.65;
}


/* DESTINASI */

.destinasi-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 17px 0;
}

.destinasi-list span {
    background: #f8f6f1;
    border: 1px solid #e8e2d7;
    color: #555;
    padding: 6px 9px;
    border-radius: 3px;
    font-size: 10px;
}

.destinasi-list i {
    color: #a88950;
    margin-right: 3px;
}


/* BOTTOM */

.paket-bottom {
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: 5px;
}

.paket-bottom > span {
    display: block;
    color: #888;
    font-size: 10px;
    margin-bottom: 10px;
}

.paket-bottom > span i {
    color: #25D366;
    margin-right: 4px;
}

.paket-bottom a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #222;
    color: #fff;
    padding: 11px 14px;
    text-decoration: none;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    transition: .3s;
}

.paket-bottom a:hover {
    background: #a88950;
    color: #fff;
}

.paket-bottom a i {
    font-size: 11px;
}


/* RESPONSIVE */

@media (max-width: 768px) {

    .paket-intro {
        margin-top: 15px;
    }

    .paket-image {
        height: 220px;
    }
}
/* =========================================
   PAKET WISATA - REMUNA BALI
   ========================================= */
.paket-section { background:#fff; }
.paket-intro { max-width:700px; margin:0 auto 48px; text-align:center; }
.paket-intro h2 { margin:12px 0 10px; font-family:'Playfair Display',serif; font-size:clamp(30px,4vw,44px); color:#173c31; }
.paket-intro p { color:#777; line-height:1.8; margin:0; }
.paket-category { margin-bottom:65px; }
.paket-category-hiace { margin-top:10px; }
.paket-category-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:14px; padding-bottom:18px; border-bottom:1px solid #e8e2d7; }
.paket-category-head h3 { margin:8px 0 0; font-size:25px; color:#173c31; }
.paket-include { display:flex; gap:9px; flex-wrap:wrap; }
.paket-include span { background:#f5f2eb; border:1px solid #e6dfd2; padding:8px 12px; border-radius:4px; color:#555; font-size:11px; font-weight:600; }
.paket-include i { color:#a88950; margin-right:4px; }
.paket-note { margin:0 0 25px; padding:11px 14px; background:#faf8f3; border-left:3px solid #a88950; color:#777; font-size:11px; }
.paket-note i { color:#a88950; margin-right:5px; }
.paket-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.paket-card { background:#fff; border:1px solid #ece7dd; border-radius:5px; overflow:hidden; box-shadow:0 8px 28px rgba(24,49,41,.06); transition:transform .3s ease,box-shadow .3s ease; display:flex; flex-direction:column; }
.paket-card:hover { transform:translateY(-5px); box-shadow:0 15px 35px rgba(24,49,41,.11); }
.paket-image { height:220px; position:relative; overflow:hidden; background:#eee; }
.paket-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.paket-card:hover .paket-image img { transform:scale(1.05); }
.paket-card-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.paket-card-body h3 { margin:0 0 5px; color:#173c31; font-size:20px; }
.paket-price { color:#a88950; font-size:20px; font-weight:800; margin-bottom:9px; }
.paket-card-body p { color:#777; font-size:12px; line-height:1.7; margin:0; }
.paket-card .destinasi-list { min-height:20px; }
.paket-card .paket-bottom { margin-top:auto; }
@media (max-width:1000px) { .paket-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .paket-category-head { align-items:flex-start; flex-direction:column; } .paket-category-head h3 { font-size:21px; } .paket-grid { grid-template-columns:1fr; gap:18px; } .paket-image { height:210px; } .paket-intro { margin-bottom:35px; } .paket-category { margin-bottom:48px; } }
