:root{--navy:#061b32;--deep:#021120;--blue:#0b6ba8;--aqua:#2cc4d8;--gold:#d7a64a;--sand:#f7f2e8;--white:#fff;--muted:#5f7082;--line:#dce5eb}

*{box-sizing:border-box}

html{overflow-x:hidden}

body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--navy);background:#fff;line-height:1.6;font-size:16px}

a{color:inherit}

img{max-width:100%;display:block}

.topbar{background:#021120!important;color:#d9edf7!important;display:flex!important;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 5vw;font-size:.88rem}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 4px 24px rgba(0,0,0,.08)}

.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}

.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:900;font-size:1.25rem;letter-spacing:.02em}

.brand img{width:76px;height:56px;object-fit:contain}

.brand span{line-height:1}

/* HEADER NAV BUTTONS */

.site-header .main-nav{display:flex;align-items:center;gap:30px;font-weight:600;white-space:nowrap}

.site-header .main-nav a{text-decoration:none!important}

.site-header .main-nav a.nav-btn{position:relative;display:inline-flex!important;align-items:center;padding:6px 1px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#0b2138!important;font-weight:600!important;font-size:13px!important;line-height:1!important;letter-spacing:.15em;text-transform:uppercase;transition:color .25s ease!important}

.site-header .main-nav a.nav-btn::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:linear-gradient(90deg,#0b6ba8,#2cc4d8);transition:right .3s ease}

.site-header .main-nav a.nav-btn:hover{background:transparent!important;color:#0b6ba8!important}

.site-header .main-nav a.nav-btn:hover::after{right:0}

.site-header .main-nav a.nav-cta{display:inline-flex!important;align-items:center;justify-content:center;padding:12px 24px!important;border-radius:8px!important;background:#0b2138!important;color:#ffffff!important;border:1px solid #0b2138!important;font-weight:700!important;font-size:12.5px!important;letter-spacing:.15em;text-transform:uppercase;box-shadow:none!important;transition:all .25s ease!important;text-decoration:none!important}

.site-header .main-nav a.nav-cta:hover{background:transparent!important;color:#0b2138!important}

.site-header .main-nav a.lang-toggle{width:auto!important;height:auto!important;padding:12px 13px!important;border-radius:8px!important;background:transparent!important;color:#0b2138!important;border:1px solid #cfd9e2!important;display:inline-flex!important;align-items:center;justify-content:center;font-weight:700!important;font-size:13px!important;letter-spacing:.04em;text-decoration:none!important;transition:all .25s ease!important}

.site-header .main-nav a.lang-toggle:hover{background:#0b2138!important;color:#ffffff!important;border-color:#0b2138!important}

.nav-toggle{display:none;background:none;border:0;font-size:1.8rem}

.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:.85rem 1.7rem;text-decoration:none;font-weight:800;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;border:0;cursor:pointer;transition:all .2s ease}

.btn-primary{background:var(--gold);color:#08263b}

.btn-ghost{border:1px solid rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.08)}

.btn-paypal{background:#ffc439;color:#102a43;width:100%;font-size:1.05rem}

.hero{min-height:78vh;background-size:cover;background-position:center;display:flex;align-items:center;padding:8vw 5vw;color:#fff;position:relative;isolation:isolate;overflow:hidden}

.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,20,38,.92),rgba(1,20,38,.42));z-index:-1}

.hero.compact{min-height:48vh}

.hero-content{max-width:760px}

.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--gold);font-size:.82rem}

.hero h1{font-size:clamp(2.4rem,6vw,5.7rem);line-height:.96;margin:.4rem 0 1rem;max-width:950px}

.hero.compact h1{font-size:clamp(2rem,5vw,4rem)}

.hero p{font-size:clamp(1rem,2.1vw,1.28rem);max-width:680px}

.hero.home{background-position:center center}

.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.4rem}

.section{padding:6rem 5vw}

.section:first-of-type:not(.hero){padding-top:5rem}

.narrow{max-width:920px;margin:auto}

.intro-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}

.intro-grid img,.split img,.blog-grid img{border-radius:28px;box-shadow:0 24px 70px rgba(2,17,32,.18);height:430px;width:100%;object-fit:cover}

.cards,.pricing,.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.cards article,.price-card,.form-card,.checkout-card,.calendar-card,.reviews,.weather,.stay-options,.admin-table{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2rem;box-shadow:0 16px 50px rgba(2,17,32,.08)}

.cards article{background:linear-gradient(180deg,#fff,#f7fbfd)}

h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:.2rem 0 1rem}

.price{font-size:3.2rem;font-weight:950;color:var(--blue);margin:.4rem 0}

.featured{border:2px solid var(--gold)}

.form-section{background:linear-gradient(180deg,#f6fbfd,#fff)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}

label{display:grid;gap:.35rem;font-weight:800;margin-bottom:1rem}

input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:.95rem;font:inherit}

textarea{min-height:130px}

.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}

.check-grid label{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:600}

.check-grid input{width:auto}

.pricing-box{display:flex;gap:1.2rem;flex-wrap:wrap;background:var(--sand);border-radius:18px;padding:1rem;margin:1rem 0}

.alert{background:#ffecec;color:#842029;padding:1rem;border-radius:14px}

.small-note{font-size:.92rem;color:var(--muted)}

.deposit{color:var(--blue);font-size:1.5rem}

.stay-options{display:flex;flex-wrap:wrap;gap:.8rem}

.stay-options span{background:#eef3f7;border:1px solid #e2eaf1;border-radius:8px;padding:.7rem 1rem;font-weight:700}

.reviews,.instagram{background:var(--sand)}

.review-placeholder{background:#fff;border-radius:20px;padding:1.5rem;font-size:1.2rem}

.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}

.insta-grid img{height:230px;object-fit:cover;border-radius:20px}

.blog-grid article{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#fff}

.blog-grid article h2,.blog-grid article p,.blog-grid article a{margin-left:1.2rem;margin-right:1.2rem}

.blog-grid article a{display:inline-block;margin-bottom:1.2rem;font-weight:900;color:var(--blue)}

.article{font-size:1.15rem}

.site-footer{background:var(--deep);color:#dce8f0;padding:4rem 5vw 2rem}

.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}

.footer-logo{width:120px;background:#fff;border-radius:16px;padding:.4rem}

.site-footer a{display:block;color:#dce8f0;text-decoration:none;margin:.3rem 0}

.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;margin-top:2rem}

.whatsapp{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;padding:.85rem 1.1rem;border-radius:12px;font-weight:800;text-decoration:none;z-index:70;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:.95rem}

.whatsapp:hover{transform:translateY(-1px)}

table{width:100%;border-collapse:collapse}

th,td{border-bottom:1px solid var(--line);text-align:left;padding:.75rem;vertical-align:top}

pre{white-space:pre-wrap;max-width:520px}

.admin-head{display:flex;justify-content:space-between;align-items:center}

.admin-table{overflow:auto}

.container{width:min(1180px,90vw);margin:0 auto}

.page-hero{position:relative;padding:5.5rem 0 4.25rem;background:linear-gradient(135deg,#f7fbfd 0%,#fff 56%,#f7f2e8 100%);overflow:hidden}

.page-hero:after{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(44,196,216,.22),rgba(44,196,216,0) 65%);pointer-events:none}

.breadcrumb{font-weight:900;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;margin-bottom:1.2rem}

.page-hero h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.02;max-width:1050px;margin:0 0 1.1rem}

.page-hero p{font-size:clamp(1.05rem,2vw,1.28rem);max-width:780px;color:#23384d;margin:0}

.btn{background:var(--gold);color:#08263b;box-shadow:0 10px 24px rgba(215,166,74,.30)}

.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--navy);box-shadow:none}

.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}

.btn-outline:hover{background:var(--navy);color:#fff;filter:none}

.clean{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.65rem}

.clean li{position:relative;padding-left:1.6rem;font-weight:700}

.clean li:before{content:"✓";position:absolute;left:0;top:0;color:var(--aqua);font-weight:950}

.image-panel{min-height:430px;border-radius:30px;background-image:linear-gradient(180deg,rgba(2,17,32,.06),rgba(2,17,32,.12)),url('/assets/img/photos/dream_maker_4.jpeg');background-size:cover;background-position:center;box-shadow:0 24px 70px rgba(2,17,32,.18)}

.section .container>p{max-width:860px}

.section:nth-of-type(even){background:#fbfdff}

.page-hero+.section{padding-top:5rem}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2rem;box-shadow:0 16px 50px rgba(2,17,32,.08)}

.card.package{display:flex;flex-direction:column}

.card.package .btn{margin-top:auto}

.icon{font-size:2rem;margin-bottom:.4rem}

.alt{background:#fbfdff}

.section-head{max-width:850px;margin:0 auto 2rem;text-align:center}

.time{font-weight:950;color:var(--blue);margin:.5rem 0}

.visual-feature{padding-top:3rem;padding-bottom:3rem}

.feature-photo-wrap{position:relative}

.feature-photo{width:100%;height:clamp(280px,48vw,560px);object-fit:cover;border-radius:32px;box-shadow:0 24px 70px rgba(2,17,32,.18)}

.fish-tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}

.fish-tags span,.spec-list li{background:#eef3f7;border:1px solid #e2eaf1;border-radius:8px;padding:.55rem .85rem;font-weight:700}

.single-photo{background-image:linear-gradient(180deg,rgba(2,17,32,.06),rgba(2,17,32,.12)),url('/assets/img/photos/dream_maker_10.jpeg')}

.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start}

.spec-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.65rem}

.notes-list{display:grid;gap:.9rem;margin:1.25rem 0 0;padding-left:1.2rem}

.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}

.gallery-grid img{width:100%;height:210px;object-fit:cover;border-radius:18px;box-shadow:0 10px 30px rgba(2,17,32,.12)}

.gallery-grid img:nth-child(1),.gallery-grid img:nth-child(2){grid-column:span 2;height:300px}

.gallery-grid img:nth-child(3){grid-column:span 1;height:300px}

.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.2rem;margin:.8rem 0;box-shadow:0 10px 30px rgba(2,17,32,.05)}

.faq summary{font-weight:900;cursor:pointer}

.page-hero.home-hero{background-size:cover;background-position:center;color:#fff}

.page-hero.home-hero p{color:#e7f5fb}

.page-hero.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,20,38,.86),rgba(1,20,38,.32));z-index:0}

.page-hero.home-hero .container{position:relative;z-index:1}

.page-hero.home-hero:after{display:none}

@media(max-width:1100px){

  .site-header .main-nav{gap:20px}

  .site-header .main-nav a.nav-btn{padding:6px 1px!important;font-size:12px!important;letter-spacing:.12em}

  .site-header .main-nav a.nav-cta{padding:10px 20px!important;font-size:12px!important}

  .brand img{width:66px}

  .brand span{font-size:1.05rem}

  .hero h1{font-size:clamp(2.25rem,7vw,4.5rem)}

}

@media(max-width:1000px){

  .grid-3,.feature-grid{grid-template-columns:1fr}

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

  .gallery-grid img,.gallery-grid img:nth-child(1),.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){grid-column:auto;height:220px}

}

@media(max-width:900px){

  .topbar{display:none!important}

  .nav-wrap{min-height:72px;height:auto;padding:1rem 5vw}

  .nav-toggle{display:block}

  .brand img{width:62px;height:46px}

  .brand span{font-size:1.1rem}

  .site-header .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:1rem 5vw;flex-direction:column;align-items:flex-start;gap:10px;width:100%;box-shadow:0 20px 40px rgba(0,0,0,.12);white-space:normal}

  .site-header .main-nav.open{display:flex}

  .site-header .main-nav a.nav-btn,

  .site-header .main-nav a.nav-cta{width:100%!important}

  .site-header .main-nav a.lang-toggle{width:52px!important;height:52px!important}

  .hero{min-height:62vh;padding:6rem 5vw 4rem}

  .hero h1{font-size:clamp(2.1rem,11vw,3.6rem);line-height:1}

  .hero-actions .btn{width:100%;max-width:none}

  .section{padding:3.5rem 5vw}

  .intro-grid,.split,.footer-grid{grid-template-columns:1fr}

  .cards,.pricing,.blog-grid,.insta-grid{grid-template-columns:1fr}

  .grid-2{grid-template-columns:1fr;gap:2rem}

  .check-grid{grid-template-columns:1fr}

  .intro-grid img,.split img{height:280px}

  .whatsapp{right:12px;bottom:12px;padding:.75rem .9rem}

  .pricing-box{display:block}

  .price{font-size:2.4rem}

  .container{width:min(100% - 32px,1180px)}

  .page-hero{padding:3.2rem 0}

  .page-hero h1{font-size:clamp(2rem,10vw,3.2rem)}

  .image-panel{min-height:280px}

}

@media(max-width:560px){

  .gallery-grid{grid-template-columns:1fr}

  .gallery-grid img,.gallery-grid img:nth-child(1),.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3){height:240px}

  .card{padding:1.25rem;border-radius:20px}

}

@media(max-width:480px){

  .hero{padding-top:5rem}

  .brand span{display:none}

  .hero h1{font-size:2.35rem}

  .btn{width:100%}

  .cards article,.price-card,.form-card,.checkout-card,.calendar-card,.reviews,.weather,.stay-options,.admin-table{padding:1.25rem;border-radius:20px}

}
/* ===== Promo popup ===== */
.dm-promo-overlay{position:fixed;inset:0;background:rgba(2,17,32,.72);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:200;padding:1.2rem}
.dm-promo-overlay.open{display:flex}
.dm-promo-modal{background:#fff;max-width:440px;width:100%;border-radius:18px;padding:1.8rem 1.6rem;position:relative;box-shadow:0 30px 80px rgba(2,17,32,.4);text-align:center;animation:dmPop .35s ease}
@keyframes dmPop{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
.dm-promo-close{position:absolute;top:.7rem;right:.9rem;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:#5f7082}
.dm-promo-modal .eyebrow{color:#0b6ba8}
.dm-promo-list{list-style:none;padding:0;margin:1rem 0;text-align:left}
.dm-promo-list li{padding:.35rem 0 .35rem 1.6rem;position:relative}
.dm-promo-list li:before{content:"✓";position:absolute;left:0;color:#0b6ba8;font-weight:900}
.dm-promo-price{font-size:2rem;font-weight:900;color:#061b32;margin:.4rem 0 1rem}

/* ===== Misc new components ===== */
.ok-note{background:#e8f6ee;border:1px solid #b9e3c9;padding:.7rem 1rem;border-radius:10px}
.badge-waters{display:inline-block;color:#0b6ba8;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6rem}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}
.menu-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem}
.menu-card h3{margin:.2rem 0 .4rem}
.fresh-flag{display:inline-block;border-left:3px solid var(--gold);padding:.1rem 0 .1rem .7rem;font-weight:800;font-size:.92rem}
.promo-hero-price{font-size:2.4rem;font-weight:900}

/* Laravel port: ensure standalone forms read as cards */
.elevated-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2rem;box-shadow:0 16px 50px rgba(2,17,32,.08)}
.reservation-form .menu-grid{margin:.5rem 0 1rem}


/* ---- Unified ocean hero background (all hero sections) ---- */
.page-hero,.hero.compact{background:linear-gradient(120deg,rgba(4,24,42,.58),rgba(6,40,66,.32) 58%,rgba(10,70,92,.28)),url('../img/hero-bg.svg') center/cover no-repeat !important;color:#eaf4fb}
.page-hero.home-hero:before{display:none !important}
.page-hero:after{display:none !important}
.page-hero h1,.hero.compact h1{color:#ffffff}
.page-hero p,.hero.compact p{color:#dde9f5 !important}
.page-hero .breadcrumb,.page-hero .eyebrow,.hero.compact .eyebrow{color:var(--gold) !important}
.page-hero .btn-outline,.hero .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.78)}
.page-hero .btn-outline:hover,.hero .btn-outline:hover{background:rgba(255,255,255,.14);color:#fff}

/* ---- Recent Catches grid ---- */
.center-cta{text-align:center;margin-top:1.8rem}
.catch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.3rem}
.catch-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(6,27,50,.07);transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column}
.catch-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(6,27,50,.13)}
.catch-img{height:200px;background-size:cover;background-position:center;background-color:#0b3a5c}
.catch-card figcaption{padding:1rem 1.1rem 1.2rem}
.catch-card h3{margin:0 0 .5rem;font-size:1.12rem;color:var(--navy)}
.catch-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}
.catch-meta span{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0b6ba8;background:#eaf5fb;border:1px solid #d6ebf6;border-radius:6px;padding:.22rem .55rem}
.catch-card figcaption p{margin:0;color:#42566b;font-size:.9rem;line-height:1.5}

/* ---- Live conditions widget ---- */
.conditions .section-head{margin-bottom:1.4rem}
.cond-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.9rem}
.cond{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;background:linear-gradient(160deg,#08243f,#0b3a5c);color:#eaf4fb;border-radius:14px;padding:1.1rem .6rem;border:1px solid rgba(255,255,255,.06)}
.cond .ci{font-size:1.5rem;line-height:1}
.cond .cv{font-size:1.15rem;font-weight:900;color:#fff}
.cond .cv.link{color:#7fdfe9;text-decoration:none;font-size:1rem}
.cond .cv.link:hover{text-decoration:underline}
.cond .cl{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#9fc1d8}
.cond-note{margin-top:1rem;color:#7c8da0;font-size:.78rem;text-align:center}

/* ---- Conditions strip (directly under header, all pages) ---- */
.conditions-strip{padding:1.05rem 0 1.15rem;background:#eef2f6;border-bottom:1px solid #e3eaf1}
.conditions-strip .cond-note{margin-top:.8rem}
