/* =========================================================
   Donde Dormir Punta Cana — estilos
   Paleta: turquesa (mar), arena, coral para acciones.
   ========================================================= */
:root{
  --turq:#0b7a7a; --turq-2:#0e9696; --turq-deep:#07494d; --turq-soft:#e3f4f2;
  --sand:#f7f1e7; --sand-2:#efe4d1;
  --coral:#ff6f4e; --coral-2:#f0552f;
  --sun:#ffc46b;
  --ink:#16292c; --ink-2:#4a5d60; --line:#e3e8e7;
  --bg:#fcfbf8; --card:#ffffff;
  --radius:18px; --radius-sm:12px;
  --shadow:0 1px 2px rgba(7,73,77,.06),0 8px 24px rgba(7,73,77,.08);
  --shadow-lg:0 4px 10px rgba(7,73,77,.08),0 20px 44px rgba(7,73,77,.14);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Outfit",var(--font);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--turq)}
a:hover{color:var(--turq-deep)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin:0 0 .5em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dd-skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:99}
.dd-skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}

.dd-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}
.dd-wrap--read{max-width:780px}
.dd-ico{flex:none}

/* ---------- Botones ---------- */
.dd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px/1 var(--display);padding:13px 22px;border-radius:999px;border:0;background:var(--turq);color:#fff;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.dd-btn:hover{background:var(--turq-deep);color:#fff;transform:translateY(-1px)}
.dd-btn--lg{padding:16px 26px;font-size:17px}
.dd-btn--sm{padding:9px 16px;font-size:14px}
.dd-btn--cta{background:var(--coral);box-shadow:0 8px 20px rgba(255,111,78,.3)}
.dd-btn--cta:hover{background:var(--coral-2)}
.dd-btn--ghost{background:#fff;color:var(--turq);border:1.5px solid var(--turq)}
.dd-btn--ghost:hover{background:var(--turq-soft);color:var(--turq-deep)}
.dd-btn--block{width:100%;margin-top:18px}
.dd-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none;white-space:nowrap}
.dd-link .dd-ico{width:18px;height:18px}

/* ---------- Cabecera ---------- */
.dd-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .dd-header{top:32px}
@media (max-width:782px){.admin-bar .dd-header{top:0}}
.dd-header__in{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:16px}
.dd-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.dd-logo__txt{font:500 18px/1.1 var(--display);white-space:nowrap}
.dd-logo__txt b{color:var(--turq);font-weight:700}
.custom-logo{max-height:48px;width:auto}

.dd-burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer;border-radius:10px}
.dd-burger span{width:24px;height:2.5px;background:var(--ink);border-radius:2px;transition:.2s}
.dd-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.dd-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.dd-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.dd-nav{position:fixed;inset:66px 0 auto 0;background:#fff;padding:12px 16px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);display:none}
.dd-nav.is-open{display:block}
.dd-nav__list{list-style:none;margin:0;padding:0}
.dd-nav__list a{display:block;padding:12px 4px;font:600 17px var(--display);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.dd-nav__list a:hover,.dd-nav__list .current-menu-item>a{color:var(--turq)}
.dd-nav__list .sub-menu{list-style:none;padding-left:14px;margin:0}
.dd-nav__search{display:flex;margin-top:14px;border:1.5px solid var(--line);border-radius:999px;overflow:hidden}
.dd-nav__search input{flex:1;border:0;padding:11px 16px;font-size:16px;background:transparent;min-width:0}
.dd-nav__search input:focus{outline:0}
.dd-nav__search button{border:0;background:var(--turq);color:#fff;padding:0 16px;cursor:pointer}

@media (min-width:1080px){
  .dd-burger{display:none}
  .dd-nav{position:static;display:flex!important;align-items:center;gap:18px;padding:0;border:0;box-shadow:none;background:none}
  .dd-nav__list{display:flex;gap:4px}
  .dd-nav__list>li{position:relative}
  .dd-nav__list a{border:0;padding:8px 12px;font-size:15.5px;border-radius:999px;white-space:nowrap}
  .dd-nav__list a:hover{background:var(--turq-soft)}
  .dd-nav__list .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);padding:8px;min-width:200px}
  .dd-nav__list li:hover>.sub-menu,.dd-nav__list li:focus-within>.sub-menu{display:block}
  .dd-nav__search{margin:0;width:200px}
  .dd-nav__search input{padding:8px 14px;font-size:14.5px}
}

/* ---------- Hero portada ---------- */
.dd-hero{position:relative;color:#fff;padding:56px 0 64px;background:
  linear-gradient(180deg,rgba(4,52,56,.55),rgba(4,52,56,.72)),
  var(--hero,linear-gradient(135deg,#0b7a7a 0%,#0e9696 45%,#34b6ae 70%,#f3d9a7 100%));
  background-size:cover;background-position:center;overflow:hidden}
.dd-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:48px;background:var(--bg);clip-path:ellipse(75% 100% at 50% 100%)}
.dd-hero__in{position:relative;z-index:1;text-align:center}
.dd-hero__title{color:#fff;font-size:clamp(30px,6.5vw,54px);font-weight:700;max-width:820px;margin:0 auto .35em}
.dd-hero__sub{font-size:clamp(16px,2.3vw,20px);opacity:.93;max-width:640px;margin:0 auto 28px}

.dd-finder{display:flex;flex-direction:column;gap:10px;background:#fff;padding:12px;border-radius:22px;box-shadow:var(--shadow-lg);max-width:760px;margin:0 auto;text-align:left}
.dd-finder__field{display:flex;flex-direction:column;padding:6px 14px;border-radius:14px;background:var(--sand);color:var(--ink)}
.dd-finder__field span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.dd-finder__field input,.dd-finder__field select{border:0;background:transparent;font-size:16px;padding:4px 0 6px;color:var(--ink);width:100%}
.dd-finder__field input:focus,.dd-finder__field select:focus{outline:0}
@media (min-width:720px){
  .dd-finder{flex-direction:row;align-items:stretch;border-radius:999px;padding:8px}
  .dd-finder__field{background:transparent;border-radius:999px}
  .dd-finder__field--grow{flex:1;border-right:1px solid var(--line)}
  .dd-finder__field:not(.dd-finder__field--grow){min-width:170px}
}
.dd-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.dd-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;font-size:14.5px;font-weight:600;backdrop-filter:blur(4px)}
.dd-chip .dd-ico{width:16px;height:16px}
.dd-chip:hover{background:#fff;color:var(--turq-deep)}

/* ---------- Franja de confianza ---------- */
.dd-trust{padding:8px 0 10px}
.dd-trust__grid{display:grid;gap:12px}
.dd-trust__grid>div{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px}
.dd-trust__grid .dd-ico{width:34px;height:34px;padding:7px;border-radius:10px;background:var(--turq-soft);color:var(--turq)}
.dd-trust__grid p{margin:0;display:flex;flex-direction:column;line-height:1.3}
.dd-trust__grid b{font-family:var(--display);font-size:15.5px}
.dd-trust__grid span{font-size:14px;color:var(--ink-2)}
@media (min-width:760px){.dd-trust__grid{grid-template-columns:repeat(3,1fr)}}

/* ---------- Secciones y rejilla ---------- */
.dd-section{padding:40px 0}
.dd-section--alt{background:var(--sand);margin-top:40px}
.dd-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.dd-section__head h2{font-size:clamp(24px,3.5vw,32px);margin:0 0 4px}
.dd-section__head p{margin:0;color:var(--ink-2)}
.dd-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:620px){.dd-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.dd-grid{grid-template-columns:repeat(3,1fr);gap:26px}}

/* ---------- Tarjetas ---------- */
.dd-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.dd-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.dd-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--turq-soft)}
.dd-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dd-card:hover .dd-card__media img{transform:scale(1.05)}
.dd-card__ph{position:absolute;inset:0;background:linear-gradient(135deg,var(--turq-2),#6fcfc4 60%,var(--sand-2))}
.dd-badge{display:inline-flex;align-items:center;gap:5px;position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);color:var(--turq-deep);font:700 12.5px/1 var(--display);padding:7px 11px;border-radius:999px;text-decoration:none}
.dd-badge--ai{left:auto;right:12px;background:var(--sun);color:#5a3a00}
.dd-badge--soft{position:static;background:var(--turq-soft);margin-bottom:12px}
.dd-badge .dd-ico{width:14px;height:14px}
.dd-card__body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.dd-card__title{font-size:19px;margin:2px 0 8px}
.dd-card__title a{color:var(--ink);text-decoration:none}
.dd-card__title a:hover{color:var(--turq)}
.dd-card__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--ink-2)}
.dd-card__meta span{display:inline-flex;align-items:center;gap:5px}
.dd-card__meta .dd-ico{width:16px;height:16px;color:var(--turq)}
.dd-card__price{margin:auto 0 0;padding-top:12px;font:700 22px var(--display);color:var(--turq-deep)}
.dd-card__price small{font:500 13px var(--font);color:var(--ink-2)}
.dd-card__excerpt{margin:0 0 10px;color:var(--ink-2);font-size:15.5px;line-height:1.55}
.dd-card__more{margin:auto 0 0;font-size:13.5px;font-weight:600;color:var(--turq)}
.dd-stars{color:#f5a623;letter-spacing:2px;font-size:15px}

/* ---------- Encabezados de listados ---------- */
.dd-listhead{background:linear-gradient(180deg,var(--turq-soft),var(--bg));padding:26px 0 8px}
.dd-listhead h1{font-size:clamp(28px,4.5vw,42px)}
.dd-listhead__desc{color:var(--ink-2);max-width:720px}
.dd-empty{padding:40px 0;text-align:center;color:var(--ink-2)}

/* ---------- Migas ---------- */
.dd-crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-size:14px;color:var(--ink-2)}
.dd-crumbs li+li::before{content:"›";margin:0 6px;opacity:.6}
.dd-crumbs a{color:var(--ink-2);text-decoration:none}
.dd-crumbs a:hover{color:var(--turq)}
.dd-crumbs [aria-current]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}

/* ---------- Artículo ---------- */
.dd-article__head{padding:26px 0 10px;background:linear-gradient(180deg,var(--turq-soft),var(--bg))}
.dd-article__title{font-size:clamp(28px,5vw,44px);font-weight:700;margin-bottom:12px}
.dd-article__meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:14.5px;color:var(--ink-2)}
.dd-article__hero{margin:18px auto 8px;max-width:1080px}
.dd-article__hero img{width:100%;border-radius:var(--radius);aspect-ratio:16/8;object-fit:cover;box-shadow:var(--shadow)}

.dd-content{font-size:18px;line-height:1.75}
.dd-content>*{margin-top:0;margin-bottom:1.15em}
.dd-content h2{font-size:clamp(24px,3.2vw,30px);margin-top:1.8em;padding-top:.2em}
.dd-content h3{font-size:21px;margin-top:1.5em}
.dd-content a{text-decoration-thickness:1.5px;text-underline-offset:3px}
.dd-content ul,.dd-content ol{padding-left:1.3em}
.dd-content li{margin-bottom:.45em}
.dd-content ul li::marker{color:var(--turq)}
.dd-content img{border-radius:var(--radius-sm)}
.dd-content blockquote{margin:1.5em 0;padding:16px 20px;border-left:4px solid var(--turq);background:var(--turq-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.dd-content table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}
.dd-content th,.dd-content td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.dd-content th{background:var(--sand);font-family:var(--display)}
.dd-content .wp-block-image figcaption{font-size:14px;color:var(--ink-2);text-align:center}

/* ---------- Ficha del hotel ---------- */
.dd-ficha{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;margin:22px 0 28px;box-shadow:var(--shadow)}
.dd-ficha__top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:16px;border-bottom:1px dashed var(--line)}
.dd-ficha__name{font:700 20px/1.25 var(--display);margin:0 0 4px}
.dd-ficha__price{margin:0;text-align:right;display:flex;flex-direction:column;line-height:1.1}
.dd-ficha__price b{font:700 28px var(--display);color:var(--turq-deep)}
.dd-ficha__price small{font-size:12.5px;color:var(--ink-2)}
.dd-ficha__facts{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dd-ficha__facts li{display:flex;gap:10px;align-items:center}
.dd-ficha__facts .dd-ico{width:38px;height:38px;padding:8px;border-radius:12px;background:var(--turq-soft);color:var(--turq)}
.dd-ficha__facts span{display:flex;flex-direction:column;font-size:15px;line-height:1.3}
.dd-ficha__facts b{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
.dd-amen{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dd-amen li{display:inline-flex;align-items:center;gap:6px;background:var(--sand);padding:7px 12px;border-radius:999px;font-size:14px}
.dd-amen .dd-ico{width:17px;height:17px;color:var(--turq)}
.dd-ficha__note{margin:12px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.5}
@media (min-width:640px){.dd-ficha{padding:26px}.dd-ficha__facts{grid-template-columns:repeat(4,1fr)}}

/* ---------- TOC ---------- */
.dd-toc{background:var(--sand);border-radius:var(--radius-sm);padding:14px 18px;margin:0 0 28px}
.dd-toc summary{font:700 16px var(--display);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.dd-toc summary::after{content:"+";font-size:20px;line-height:1}
.dd-toc[open] summary::after{content:"–"}
.dd-toc summary::-webkit-details-marker{display:none}
.dd-toc ol{margin:10px 0 2px;padding-left:1.2em;font-size:15.5px}
.dd-toc li{margin:5px 0}
.dd-toc a{text-decoration:none;color:var(--ink)}
.dd-toc a:hover{color:var(--turq)}

/* ---------- Mapa ---------- */
.dd-map{margin:36px 0}
.dd-map__addr{display:flex;align-items:center;gap:8px;color:var(--ink-2)}
.dd-map__addr .dd-ico{color:var(--coral)}
.dd-map__frame{aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--turq-soft),var(--sand));display:grid;place-items:center}
.dd-map__frame iframe{width:100%;height:100%;border:0}

/* ---------- FAQ ---------- */
.dd-faq{margin:36px 0}
.dd-faq__item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;margin-bottom:10px;overflow:hidden}
.dd-faq__item summary{padding:16px 48px 16px 18px;font:600 17px/1.4 var(--display);cursor:pointer;list-style:none;position:relative}
.dd-faq__item summary::-webkit-details-marker{display:none}
.dd-faq__item summary::after{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid var(--turq);border-bottom:2px solid var(--turq);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.dd-faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.dd-faq__item>div{padding:0 18px 6px;color:var(--ink-2)}

/* ---------- CTA final y etiquetas ---------- */
.dd-endcta{display:flex;flex-direction:column;gap:14px;align-items:flex-start;background:linear-gradient(135deg,var(--turq-deep),var(--turq));color:#fff;border-radius:var(--radius);padding:22px;margin:30px 0}
.dd-endcta p{margin:0}
@media (min-width:640px){.dd-endcta{flex-direction:row;align-items:center;justify-content:space-between}}
.dd-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.dd-tags a{font-size:14px;background:var(--turq-soft);color:var(--turq-deep);padding:6px 12px;border-radius:999px;text-decoration:none}

/* ---------- Anuncios ---------- */
.dd-ad{margin:26px auto;text-align:center;min-height:100px;clear:both}
.dd-ad__label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9aa6a8;margin-bottom:4px}

/* ---------- Paginación ---------- */
.dd-pager .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:30px}
.dd-pager .page-numbers{min-width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;padding:0 12px}
.dd-pager .current{background:var(--turq);color:#fff;border-color:var(--turq)}

/* ---------- Formularios ---------- */
.dd-form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.dd-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
.dd-form input,.dd-form textarea,.dd-searchform input{font:16px var(--font);padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg)}
.dd-form input:focus,.dd-form textarea:focus,.dd-searchform input:focus{border-color:var(--turq);outline:0}
.dd-hp{position:absolute;left:-9999px}
.dd-alert{padding:12px 16px;border-radius:12px;font-weight:600}
.dd-alert--ok{background:#e4f6ec;color:#17613a}
.dd-alert--err{background:#fdeaea;color:#9b1c1c}
.dd-searchform{display:flex;gap:8px;margin:16px 0}
.dd-searchform input{flex:1;min-width:0}

/* ---------- 404 ---------- */
.dd-404{padding:70px 0;text-align:center}
.dd-404__code{font:700 96px/1 var(--display);color:var(--turq-soft);margin:0;-webkit-text-stroke:2px var(--turq)}

/* ---------- Pie ---------- */
.dd-footer{background:var(--turq-deep);color:#cfe6e4;margin-top:60px;padding:46px 0 0;font-size:15px}
.dd-footer a{color:#fff;text-decoration:none}
.dd-footer a:hover{text-decoration:underline}
.dd-footer__grid{display:grid;gap:30px}
@media (min-width:760px){.dd-footer__grid{grid-template-columns:2fr 1fr 1fr}}
.dd-footer__brand{font:500 20px var(--display);color:#fff;margin:0 0 8px}
.dd-footer__brand b{color:var(--sun)}
.dd-footer__txt{margin:0 0 10px}
.dd-footer__small{font-size:13px;opacity:.75;margin:0}
.dd-footer__title{font:700 14px var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--sun);margin:0 0 10px}
.dd-footer__list{list-style:none;margin:0;padding:0}
.dd-footer__list li{margin:7px 0}
.dd-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding:18px 16px;font-size:13.5px;opacity:.8}

/* ---------- Aviso de cookies ---------- */
.dd-cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);padding:14px 16px;display:flex;align-items:center;gap:14px;max-width:620px;margin:0 auto;font-size:14px}
.dd-cookie[hidden]{display:none}
.dd-cookie p{margin:0}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
