/* Dakoku web — móvil 2026-08-26
   Overflow, menú, hero, formulario, precios, taps.
   No cambia copy ni legales. */

html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

body.is-nav-open {
  overflow: hidden;
}

.dk-nav-acceso {
  display: none;
}

@media (max-width: 900px) {
  :root {
    --container: min(1120px, calc(100% - 1.5rem));
    --header-h: 60px;
    --tap: 44px;
  }

  .dk-header-inner {
    position: relative;
    gap: .5rem;
    min-height: var(--header-h);
    min-width: 0;
    padding: .4rem 0;
  }

  .dk-logo {
    min-width: 0;
    flex: 0 1 auto;
  }

  .dk-logo img {
    height: 28px;
  }

  .dk-nav-toggle {
    width: var(--tap);
    height: var(--tap);
    min-width: var(--tap);
    min-height: var(--tap);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    margin-left: auto;
    flex: 0 0 var(--tap);
  }

  .dk-nav-toggle span {
    transition: transform .2s ease, opacity .2s ease;
  }

  .dk-nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .dk-nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .dk-nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .dk-header-cta {
    flex: 0 0 auto;
  }

  .dk-header-cta .dk-btn-sm {
    min-height: var(--tap);
    padding: .55rem .8rem;
  }

  .dk-nav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--header-h);
    z-index: 120;
    width: 100%;
    height: calc(100vh - var(--header-h));
    height: calc(100dvh - var(--header-h));
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    border-bottom: 0;
    flex-direction: column;
    align-items: stretch;
    padding: .35rem 1.1rem calc(1.4rem + env(safe-area-inset-bottom, 0px));
    gap: 0;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
  }

  .dk-nav.is-open {
    display: flex;
  }

  .dk-nav > a,
  .dk-nav-btn {
    min-height: var(--tap);
    display: flex;
    align-items: center;
    width: 100%;
    padding: .7rem 0;
    font-size: 1.05rem;
    color: var(--text);
    text-align: left;
  }

  .dk-nav-group {
    width: 100%;
  }

  .dk-nav-drop {
    width: 100%;
  }

  .dk-nav-drop a {
    min-height: var(--tap);
    display: flex;
    align-items: center;
    padding: .55rem 0 .55rem .9rem;
    font-size: 1rem;
  }

  .dk-nav-acceso {
    display: flex;
    margin-top: .35rem;
    border-top: 1px solid var(--border);
  }

  .dk-search-strip {
    padding: .4rem 0;
  }

  .dk-search--strip {
    max-width: none;
  }

  .dk-search input[type="search"] {
    min-height: var(--tap);
    font-size: 16px;
    padding: .55rem .2rem .55rem .95rem;
  }

  .dk-search-submit {
    width: var(--tap);
    height: var(--tap);
  }

  .dk-cta-band {
    padding: 1.45rem 1.1rem;
  }

  .dk-cta-band-actions {
    width: 100%;
  }

  .dk-cta-band-actions .dk-btn {
    width: 100%;
    white-space: normal;
    min-height: var(--tap);
  }

  .dk-page-hero h1,
  .dk-hero h1 {
    max-width: none;
    overflow-wrap: anywhere;
  }

  .dk-footer a,
  .dk-footer li {
    min-height: var(--tap);
  }

  .dk-footer a {
    display: inline-flex;
    align-items: center;
  }

  .dk-footer-grid {
    gap: 1.35rem 1rem;
  }
}

@media (max-width: 600px) {
  .dk-btn {
    white-space: normal;
    text-align: center;
    max-width: 100%;
  }

  .dk-hero {
    padding: 1.85rem 0 2rem;
  }

  .dk-hero h1 {
    font-size: 1.85rem;
  }

  .dk-hero-word {
    font-size: 1.35rem;
    overflow: hidden;
  }

  .dk-rotate {
    min-width: 0;
  }

  .dk-hero-actions {
    width: 100%;
  }

  .dk-hero-actions .dk-btn,
  .dk-page-hero-actions .dk-btn,
  .dk-form .dk-btn {
    width: 100%;
    min-height: 48px;
  }

  .dk-mockup-scene {
    max-width: 100%;
    margin-inline: 0;
    padding: .55rem .1rem .1rem;
  }

  .dk-pricebar-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .4rem;
    text-align: left;
  }

  .dk-pricebar-inner p,
  .dk-pricebar-inner a,
  .dk-pricebar-inner strong {
    overflow-wrap: anywhere;
  }

  .dk-plan-rec h3 {
    padding-right: 0;
  }

  .dk-plan-rec .dk-badge {
    position: static;
    margin: 0 0 .45rem;
    align-self: flex-start;
  }

  .dk-plan,
  .dk-pw-card {
    min-width: 0;
  }

  .dk-plan-y1,
  .dk-pw-amount {
    overflow-wrap: anywhere;
  }

  .dk-form {
    padding: 1.15rem 1rem;
    min-width: 0;
  }

  .dk-form input,
  .dk-form select,
  .dk-form textarea {
    min-height: 48px;
    font-size: 16px;
    padding: .85rem .95rem;
  }

  .dk-form textarea {
    min-height: 7.5rem;
  }

  .dk-form-check {
    gap: .85rem;
    padding: .15rem 0 .35rem;
  }

  .dk-form-check input[type="checkbox"] {
    width: 22px;
    height: 22px;
    min-width: 22px;
    min-height: 22px;
    margin-top: .2rem;
    accent-color: var(--red);
  }

  .dk-form-clausula,
  .dk-form-check span {
    overflow-wrap: anywhere;
  }

  .dk-diff-meta dd {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .dk-modal-panel {
    width: min(26.5rem, calc(100% - 1.5rem));
    padding: 1.5rem 1.15rem 1.3rem;
  }

  .dk-faq summary,
  .dk-faq details > p {
    overflow-wrap: anywhere;
  }

  .dk-cmp-table {
    font-size: .82rem;
  }

  .dk-cmp-table th,
  .dk-cmp-table td {
    padding: .5rem .45rem;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 380px) {
  .dk-header-cta .dk-btn-sm {
    padding: .5rem .65rem;
    font-size: .8rem;
  }

  .dk-logo img {
    height: 26px;
  }
}

/* Home precios 2026-08-27 */
@media (max-width: 759px) {
  .dk-hp-card {
    padding: 1.35rem 1.1rem 1.2rem;
  }
  .dk-hp-card h3 {
    padding-right: 0;
  }
  .dk-hp-card .dk-badge {
    position: static;
    align-self: flex-start;
    margin: 0 0 .5rem;
  }
  .dk-hp-duo {
    grid-template-columns: 1fr;
  }
  .dk-hp-duo-item + .dk-hp-duo-item {
    border-left: 0;
    border-top: 1px solid var(--border);
  }
  .dk-hp-row {
    flex-direction: column;
    align-items: flex-start;
    gap: .55rem;
  }
  .dk-hp-y1,
  .dk-hp-y2 {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 759px) {
  .dk-hp-bar {
    padding: 1.8rem 0 2rem;
  }
  .dk-hp-bar-grid {
    grid-template-columns: 1fr;
    max-width: 22rem;
  }
  .dk-hp-bar-duo {
    grid-template-columns: 1fr;
  }
  .dk-hp-bar-duo > span + span {
    border-left: 0;
    border-top: 1px solid var(--border);
  }
}
