/* DoggySchool Core — Header & Footer Manager */
:root{--ds-nav-orange:#E87722;--ds-nav-brown:#4A2E1B;--ds-nav-cream:#FAF7F2;--ds-nav-white:#fff;--ds-nav-muted:#6D5A4D;--ds-nav-border:rgba(74,46,27,.14);--ds-nav-shadow:0 16px 40px rgba(74,46,27,.12)}
.ds-core-managed-header .site-header .menu>li>a,.ds-core-managed-header .main-navigation .menu>li>a{font-weight:500;letter-spacing:.01em;color:var(--ds-nav-brown);transition:color .18s ease,background .18s ease,transform .18s ease}
.ds-core-managed-header .site-header .menu>li>a:hover,.ds-core-managed-header .site-header .menu>li>a:focus,.ds-core-managed-header .main-navigation .menu>li>a:hover,.ds-core-managed-header .main-navigation .menu>li>a:focus,.ds-core-managed-header .current-menu-item>a{color:var(--ds-nav-orange)!important}
.ds-core-managed-header .current-menu-item>a{font-weight:650;position:relative}
.ds-core-managed-header .current-menu-item>a:after{content:"";position:absolute;left:1em;right:1em;bottom:.45em;height:2px;border-radius:999px;background:var(--ds-nav-orange)}
.ds-core-managed-header .site-header .menu,.ds-core-managed-header .main-navigation .menu{column-gap:clamp(.15rem,.65vw,.75rem)}
.ds-core-managed-header .ds-core-nav-action>a{display:inline-flex!important;min-height:42px;align-items:center;justify-content:center;margin-inline:.15rem;padding:.62rem 1rem!important;border-radius:.55rem;font-weight:750!important;text-decoration:none!important}
.ds-core-managed-header .ds-core-nav-access>a{border:1px solid var(--ds-nav-brown);color:var(--ds-nav-brown)!important;background:transparent}
.ds-core-managed-header .ds-core-nav-access>a:hover,.ds-core-managed-header .ds-core-nav-access>a:focus{border-color:var(--ds-nav-orange);color:var(--ds-nav-orange)!important}
.ds-core-managed-header .ds-core-nav-buy>a{border:1px solid var(--ds-nav-orange);background:var(--ds-nav-orange);color:#fff!important}
.ds-core-managed-header .ds-core-nav-buy>a:hover,.ds-core-managed-header .ds-core-nav-buy>a:focus{background:#cf6719;color:#fff!important;transform:translateY(-1px)}
.ds-core-nav-user>a{display:inline-flex!important;align-items:center;gap:.45rem;padding:.62rem 1rem!important;border-radius:.55rem;background:var(--ds-nav-orange);color:#fff!important;font-weight:750!important}
.ds-core-nav-user>a:after{content:"⌄";font-size:.8em}
.ds-core-nav-user .sub-menu{min-width:230px!important;padding:.5rem!important;border:1px solid var(--ds-nav-border)!important;border-radius:.8rem!important;background:#fff!important;box-shadow:var(--ds-nav-shadow)!important}
.ds-core-nav-user .sub-menu a{padding:.72rem .85rem!important;border-radius:.5rem!important;color:var(--ds-nav-brown)!important;font-weight:600!important;white-space:nowrap}
.ds-core-nav-user .sub-menu a:hover,.ds-core-nav-user .sub-menu a:focus{background:var(--ds-nav-cream)!important;color:var(--ds-nav-orange)!important}
.ds-core-nav-user .ds-core-logout-item{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--ds-nav-border)}

/* Oculta el footer nativo cuando el gestor está activo. */
.ds-core-managed-footer .site-footer,.ds-core-managed-footer #colophon{display:none!important}
.ds-core-site-footer{position:relative;z-index:2;width:100%;margin:0;color:var(--ds-nav-brown);font-family:inherit}
.ds-core-site-footer a{color:inherit;text-decoration:none}
.ds-core-site-footer a:hover,.ds-core-site-footer a:focus{color:var(--ds-nav-orange)}
.ds-core-site-footer--public{padding:clamp(3rem,6vw,5.5rem) 1.25rem 0;background:var(--ds-nav-cream)}
.ds-core-footer-inner{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);width:min(1240px,calc(100% - 32px));margin:0 auto;padding-bottom:clamp(2.5rem,5vw,4rem)}
.ds-core-footer-brand p{max-width:34ch;margin:1rem 0;color:var(--ds-nav-muted);line-height:1.65}
.ds-core-footer-brand strong{color:var(--ds-nav-orange)}
.ds-core-footer-logo{display:block;width:auto;max-width:120px;max-height:92px;object-fit:contain}
.ds-core-footer-wordmark{font-size:1.5rem;font-weight:800}
.ds-core-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}
.ds-core-footer-column h2{margin:0 0 .45rem;color:var(--ds-nav-brown);font-size:1rem;text-transform:uppercase;letter-spacing:.09em}
.ds-core-footer-column a{color:var(--ds-nav-muted);line-height:1.45}
.ds-core-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1240px,calc(100% - 32px));margin:0 auto;padding:1.15rem 0;border-top:1px solid var(--ds-nav-border);color:var(--ds-nav-muted);font-size:.9rem}
.ds-core-site-footer--student{padding:2rem 1.25rem 0;background:var(--ds-nav-brown);color:#fff}
.ds-core-student-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:min(1240px,calc(100% - 32px));margin:0 auto;padding-bottom:1.75rem}
.ds-core-student-footer-inner>div{display:grid;gap:.25rem}
.ds-core-student-footer-inner span{color:rgba(255,255,255,.7)}
.ds-core-student-footer-inner nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem 1.35rem}
.ds-core-site-footer--student a{color:#fff}
.ds-core-site-footer--student .ds-core-footer-bottom{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.65)}

@media(max-width:1180px){.ds-core-managed-header .site-header .menu>li>a,.ds-core-managed-header .main-navigation .menu>li>a{font-size:.93rem}.ds-core-footer-inner{grid-template-columns:1.4fr repeat(2,minmax(0,1fr))}.ds-core-footer-brand{grid-row:span 2}}
@media(max-width:900px){.ds-core-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-core-footer-brand{grid-column:1/-1;grid-row:auto}.ds-core-student-footer-inner{align-items:flex-start;flex-direction:column}.ds-core-student-footer-inner nav{justify-content:flex-start}}
@media(max-width:640px){.ds-core-footer-inner{grid-template-columns:1fr}.ds-core-footer-bottom{align-items:flex-start;flex-direction:column}.ds-core-site-footer--student{padding-top:2.5rem}.ds-core-student-footer-inner nav{display:grid;grid-template-columns:1fr 1fr;width:100%}}


/* 1.2.1 — Ajustes de cabecera, footer y separación residual */
.ds-core-managed-header .site-main-header-wrap .site-header-row-container-inner>.site-container,
.ds-core-managed-header .site-header-row-container-inner>.site-container{
  width:min(1880px,calc(100% - 36px))!important;
  max-width:1880px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.ds-core-managed-header .main-navigation .primary-menu-container>ul,
.ds-core-managed-header .site-header .menu{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(.05rem,.38vw,.45rem)!important;
}
.ds-core-managed-header .main-navigation .menu>li>a,
.ds-core-managed-header .site-header .menu>li>a{
  padding-left:clamp(.5rem,.65vw,.8rem)!important;
  padding-right:clamp(.5rem,.65vw,.8rem)!important;
  font-size:clamp(.82rem,.78vw,1rem)!important;
  white-space:nowrap!important;
}
.ds-core-managed-header .ds-core-nav-action>a{
  min-height:40px!important;
  padding:.55rem .85rem!important;
}
.ds-core-managed-header .site-branding img,
.ds-core-managed-header .custom-logo{
  max-height:72px!important;
  width:auto!important;
}
.ds-core-managed-footer #colophon,
.ds-core-managed-footer .site-footer-wrap,
.ds-core-managed-footer .site-footer-row-container,
.ds-core-managed-footer .site-footer-row-container-inner{display:none!important}
.ds-core-managed-footer #inner-wrap,
.ds-core-managed-footer .site-content,
.ds-core-managed-footer .content-area,
.ds-core-managed-footer main{margin-bottom:0!important;padding-bottom:0!important}
.ds-core-site-footer{margin-top:0!important;transform:translateY(1px)}

@media(max-width:1450px){
  .ds-core-managed-header .main-navigation .menu>li>a,
  .ds-core-managed-header .site-header .menu>li>a{font-size:.82rem!important;padding-left:.42rem!important;padding-right:.42rem!important}
  .ds-core-managed-header .site-branding img,
  .ds-core-managed-header .custom-logo{max-height:62px!important}
}
@media(max-width:1180px){
  .ds-core-managed-header .main-navigation .primary-menu-container>ul,
  .ds-core-managed-header .site-header .menu{flex-wrap:wrap!important}
}

/* 1.2.2 — Cabecera fija, limpieza de filas vacías y volver arriba */
.ds-core-managed-header #masthead,
.ds-core-managed-header .site-header-wrap {
  position: sticky !important;
  top: 0;
  z-index: 9990;
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: #fff;
  box-shadow: 0 1px 0 rgba(74,46,27,.08);
}

.admin-bar.ds-core-managed-header #masthead,
.admin-bar.ds-core-managed-header .site-header-wrap {
  top: 32px;
}

.ds-core-managed-header .site-header,
.ds-core-managed-header .site-main-header-wrap,
.ds-core-managed-header .site-header-row-container,
.ds-core-managed-header .site-header-row-container-inner,
.ds-core-managed-header .site-header-row-container-inner > .site-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.ds-core-managed-header .ds-core-empty-header-row,
.ds-core-managed-header .ds-core-duplicate-header-action {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Evita que los CTA salten a una segunda línea en escritorio. */
@media (min-width: 1181px) {
  .ds-core-managed-header .site-main-header-inner-wrap,
  .ds-core-managed-header .site-header-main-section-right,
  .ds-core-managed-header .site-header-main-section-right-center,
  .ds-core-managed-header .main-navigation,
  .ds-core-managed-header .primary-menu-container {
    min-width: 0 !important;
  }

  .ds-core-managed-header .main-navigation .primary-menu-container > ul {
    flex-wrap: nowrap !important;
  }
}

.ds-core-back-to-top {
  position: fixed;
  right: clamp(1rem,2vw,1.5rem);
  bottom: clamp(1rem,2vw,1.5rem);
  z-index: 9995;
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(74,46,27,.18);
  border-radius: 999px;
  background: var(--ds-nav-orange);
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 12px 28px rgba(74,46,27,.18);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease, background .18s ease;
}

.ds-core-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ds-core-back-to-top:hover,
.ds-core-back-to-top:focus-visible {
  background: #cf6719;
}

@media (max-width: 782px) {
  .admin-bar.ds-core-managed-header #masthead,
  .admin-bar.ds-core-managed-header .site-header-wrap {
    top: 46px;
  }

  .ds-core-back-to-top {
    width: 44px;
    height: 44px;
    right: .9rem;
    bottom: .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-core-back-to-top {
    transition: none;
  }
}


/* 1.2.3 — Cabecera opaca y eliminación uniforme del hueco superior */
.ds-core-managed-header #masthead,
.ds-core-managed-header .site-header-wrap,
.ds-core-managed-header .site-header,
.ds-core-managed-header .site-main-header-wrap,
.ds-core-managed-header .site-header-row-container,
.ds-core-managed-header .site-header-row-container-inner,
.ds-core-managed-header .site-header-row-container-inner > .site-container,
.ds-core-managed-header .site-main-header-inner-wrap,
.ds-core-managed-header .site-header-main-section-left,
.ds-core-managed-header .site-header-main-section-center,
.ds-core-managed-header .site-header-main-section-right {
  background-color: #fff !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Neutraliza la cabecera transparente de Kadence incluso cuando está activada por página. */
.ds-core-managed-header.transparent-header #masthead,
.ds-core-managed-header .transparent-header #masthead,
.ds-core-managed-header.header-transparent #masthead,
.ds-core-managed-header .site-header-wrap.item-is-fixed,
.ds-core-managed-header .site-header-wrap.item-at-start {
  background: #fff !important;
  color: var(--ds-nav-brown) !important;
}

/* El espacio blanco procedía del padding del contenedor de página de Kadence. */
body.page.ds-core-managed-header #primary,
body.page.ds-core-managed-header .content-area,
body.page.ds-core-managed-header .site-main,
body.page.ds-core-managed-header .entry-content,
body.page.ds-core-managed-header .entry-content-wrap,
body.page.ds-core-managed-header .content-wrap,
body.page.ds-core-managed-header .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* El primer bloque visual debe comenzar inmediatamente bajo la cabecera. */
body.page.ds-core-managed-header .entry-content > :first-child,
body.page.ds-core-managed-header .entry-content-wrap > :first-child,
body.page.ds-core-managed-header main > :first-child {
  margin-top: 0 !important;
}

/* Mantiene una separación visual controlada mediante el borde del propio header. */
.ds-core-managed-header #masthead,
.ds-core-managed-header .site-header-wrap {
  border-bottom: 1px solid rgba(74,46,27,.10) !important;
  box-shadow: none !important;
}



/* 1.5.3 — Social oficial y supresión completa del footer nativo de Kadence */
.ds-core-footer-instagram{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
  color:var(--ds-nav-brown)!important;
  font-weight:700;
}
.ds-core-footer-instagram svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.ds-core-footer-instagram:hover,
.ds-core-footer-instagram:focus{
  color:var(--ds-nav-orange)!important;
}
.ds-core-managed-footer footer#colophon,
.ds-core-managed-footer .site-footer,
.ds-core-managed-footer .site-footer-wrap,
.ds-core-managed-footer .site-footer-row-container,
.ds-core-managed-footer .site-footer-row-container-inner,
.ds-core-managed-footer .site-footer-section,
.ds-core-managed-footer .site-footer-bottom-section-1,
.ds-core-managed-footer .site-footer-bottom-section-2,
.ds-core-managed-footer .site-footer-bottom-section-3,
.ds-core-managed-footer .site-info-inner,
.ds-core-managed-footer .site-info{
  display:none!important;
}
