/* Cap Reitter — sistema de diseño sobre bloques nativos de WordPress */

:root{
  --cr-paper:#F1F4F8;
  --cr-paper-2:#E4E9F0;
  --cr-ink:#0B1B30;
  --cr-accent:#0048A8;
  --cr-accent-2:#003890;
  --cr-ok:#6E8F72;
  --cr-text-secondary:rgba(11,27,48,0.74);
  --cr-text-tertiary:rgba(11,27,48,0.6);
  --cr-border:rgba(11,27,48,0.14);
  --cr-on-dark:#F1F4F8;
  --cr-on-dark-secondary:rgba(241,244,248,0.78);
  --cr-on-dark-tertiary:rgba(241,244,248,0.62);
  --cr-on-dark-border:rgba(241,244,248,0.16);
  --cr-ease:cubic-bezier(0.16,1,0.3,1);
  --cr-mono:'IBM Plex Mono',SFMono-Regular,Consolas,monospace;
}

html{scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;}
::selection{background:var(--cr-accent);color:var(--cr-paper);}
:focus-visible{outline:2px solid var(--cr-accent);outline-offset:3px;}
h1,h2,h3{text-wrap:balance;}

/* ---------- eyebrow ---------- */
.cr-eyebrow{font-size:0.95rem;font-weight:600;color:var(--cr-accent);}

/* ---------- botones ---------- */
.wp-block-button__link{transition:background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--cr-ink);border:1px solid rgba(11,27,48,0.5);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--cr-paper-2);border-color:var(--cr-accent);color:var(--cr-accent);}

/* ---------- encabezado ---------- */
.cr-header{
  position:sticky;top:0;z-index:50;
  background:rgba(241,244,248,0.88);
  backdrop-filter:blur(10px) saturate(1.2);
  border-bottom:1px solid var(--cr-border);
}
.admin-bar .cr-header{top:32px;}
.cr-nav{padding:10px clamp(20px,5vw,64px) !important;}
.cr-brand img{height:64px;width:auto;}
@media (max-width:600px){
  .cr-brand img{height:48px;}
  .cr-header .wp-block-button__link{padding:0.7em 1em;font-size:0.85rem;}
}
.cr-header .wp-block-navigation{font-size:0.95rem;font-weight:500;}
.cr-header .wp-block-navigation-item__content{position:relative;padding-bottom:4px;}
.cr-header .wp-block-navigation-item__content::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--cr-accent);
  transition:width 0.4s var(--cr-ease);
}
.cr-header .wp-block-navigation-item__content:hover::after{width:100%;}

/* ---------- secciones ---------- */
.cr-section{padding-top:clamp(64px,10vw,128px);padding-bottom:clamp(64px,10vw,128px);}
.cr-section-head{
  display:grid;grid-template-columns:0.9fr 1.4fr;gap:clamp(20px,4vw,48px);
  align-items:end;margin-bottom:clamp(36px,5vw,64px) !important;
}
.cr-section-head > *{margin:0 !important;}
.cr-section-title{font-size:clamp(2rem,4.2vw,3.4rem);}
#servicios .cr-section-head,#galeria .cr-section-head,#clientes .cr-section-head,#areas .cr-section-head{grid-template-columns:1fr;gap:0.8rem;}
@media (max-width:1100px){.cr-section-head{grid-template-columns:1fr;gap:0.8rem;}}

/* ---------- hero ---------- */
.cr-hero{padding-top:clamp(48px,9vw,110px);padding-bottom:clamp(40px,7vw,80px);overflow:hidden;}
.cr-hero-grid{gap:clamp(24px,5vw,56px) !important;align-items:flex-start;}
.cr-hero .cr-eyebrow{margin-bottom:1.6rem;}
.cr-hero-title{font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:0.98;margin:0;}
.cr-hero-sub{
  margin-top:1.8rem;max-width:46ch;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--cr-text-secondary);
}
.cr-hero-actions{margin-top:2.4rem !important;}
.cr-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:0.06em;}
.cr-word-inner{display:inline-block;}

/* ---------- fotografia con tratamiento de marca ---------- */
.cr-photo{position:relative;overflow:hidden;background:var(--cr-ink);margin:0;}
.cr-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(0.9) contrast(1.04);
}
.cr-photo--hero img{aspect-ratio:4/5;height:auto;}
.cr-photo figcaption{
  position:absolute;left:0;top:0;z-index:3;margin:0;
  font-size:0.82rem;
  color:rgba(241,244,248,0.8);background:rgba(11,27,48,0.55);padding:0.4em 0.7em;
}
.cr-wipe{position:absolute;inset:0;background:var(--cr-paper);z-index:4;transform-origin:left;}

/* ---------- tarjeta de certificacion ---------- */
.cr-manifest{
  position:relative;background:var(--cr-ink);color:var(--cr-on-dark);
  padding:1.8rem 1.7rem 1.5rem;
}
.cr-hero-visual .cr-manifest{margin-top:-1px;position:relative;z-index:5;}
@media (min-width:782px){
  .cr-hero-visual .cr-manifest{margin:-56px clamp(20px,4vw,40px) 0;}
}
.cr-manifest > *{margin-top:0;margin-bottom:0;}
.cr-manifest-head{
  font-size:0.85rem;font-weight:600;
  color:var(--cr-on-dark-secondary);padding-bottom:1rem;border-bottom:1px solid var(--cr-on-dark-border);
  display:flex;justify-content:space-between;align-items:center;
}
.cr-manifest-head::after{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--cr-ok);
  box-shadow:0 0 0 3px rgba(110,143,114,0.25);
}
.cr-manifest-table{margin:0;}
.cr-manifest-table table{width:100%;border-collapse:collapse;}
.cr-manifest-table td{
  border:0;border-bottom:1px solid var(--cr-on-dark-border);padding:0.85rem 0.4rem 0.85rem 0;
  font-family:var(--cr-mono);font-size:0.85rem;color:var(--cr-on-dark);vertical-align:top;
}
.cr-manifest-table tr:last-child td{border-bottom:0;}
.cr-manifest-table td:nth-child(2){color:var(--cr-on-dark-secondary);}
.cr-manifest-table td:nth-child(3){color:var(--cr-ok);text-align:right;padding-right:0;}
.cr-manifest-foot{
  margin-top:1rem !important;padding-top:1rem;border-top:1px solid var(--cr-on-dark-border);
  font-size:0.82rem;line-height:1.5;color:var(--cr-on-dark-tertiary);
}

/* ---------- galeria ---------- */
.wp-block-gallery.cr-gallery{
  display:grid !important;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.4vw,16px) !important;
}
.wp-block-gallery.cr-gallery > figure.wp-block-image{
  width:auto !important;margin:0 !important;grid-column:span 2;aspect-ratio:4/3;
  position:relative;overflow:hidden;background:var(--cr-ink);
}
.wp-block-gallery.cr-gallery > figure.wp-block-image:nth-child(-n+2){grid-column:span 3;}
.wp-block-gallery.cr-gallery > figure.wp-block-image img{
  width:100%;height:100% !important;object-fit:cover;
  filter:saturate(0.9) contrast(1.04);
}
.wp-block-gallery.cr-gallery > figure.wp-block-image figcaption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;max-height:none;overflow:visible;
  padding:2.4rem 1rem 0.9rem;text-align:left;
  background:linear-gradient(180deg, rgba(11,27,48,0), rgba(11,27,48,0.86));
  color:var(--cr-on-dark);font-size:0.92rem;line-height:1.35;
}
.wp-block-gallery.cr-gallery figcaption strong{
  display:block;font-weight:600;font-size:0.85rem;color:rgba(241,244,248,0.75);margin-bottom:0.3rem;
}
@media (max-width:760px){
  .wp-block-gallery.cr-gallery{grid-template-columns:1fr;}
  .wp-block-gallery.cr-gallery > figure.wp-block-image,
  .wp-block-gallery.cr-gallery > figure.wp-block-image:nth-child(-n+2){grid-column:auto;}
}

/* ---------- secciones oscuras ---------- */
[id]{scroll-margin-top:90px;}
.cr-section--tight{padding-top:clamp(32px,5vw,64px);}
.cr-dark{background:var(--cr-ink);color:var(--cr-on-dark);}
.cr-dark h1,.cr-dark h2,.cr-dark h3,.cr-dark .cr-eyebrow{color:var(--cr-on-dark);}
.cr-dark .cr-eyebrow{color:#7DB5F2;}
.cr-dark a{color:var(--cr-on-dark);}

/* ---------- cifras ---------- */
.cr-ledger{
  background:var(--cr-ink);color:var(--cr-on-dark);
  padding-top:clamp(40px,6vw,64px);padding-bottom:clamp(40px,6vw,64px);
  border-top:1px solid var(--cr-on-dark-border);border-bottom:1px solid var(--cr-on-dark-border);
}
.cr-ledger-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,4vw,32px);}
.cr-ledger-grid > .cr-ledger-item{border-left:1px solid var(--cr-on-dark-border);padding-left:1.2rem;margin:0;}
.cr-ledger-item > *{margin:0;}
.cr-ledger-num{font-weight:800;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-0.02em;line-height:1.1;font-variant-numeric:tabular-nums;}
.cr-ledger-label{
  font-size:0.92rem;color:var(--cr-on-dark-secondary);margin-top:0.5rem !important;
}
.cr-ledger-code{
  font-family:var(--cr-mono);font-size:1.15rem;
  min-height:calc(clamp(2rem,3.6vw,3.2rem) * 1.1);display:flex;align-items:flex-end;
}
@media (max-width:760px){.cr-ledger-grid{grid-template-columns:repeat(2,1fr);row-gap:2rem;}}

/* ---------- quienes somos ---------- */
.cr-about-copy{max-width:64ch;color:var(--cr-text-secondary);font-size:1.05rem;}
/* vision y mision: las frases son la protagonista, sin cajas */
.cr-about-cards{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);
  margin-top:clamp(48px,7vw,88px) !important;
}
.cr-about-card{border-top:3px solid var(--cr-accent);padding-top:1.4rem;margin:0 !important;}
.cr-about-card p{margin:0;}
.cr-about-card .cr-eyebrow{margin-bottom:0.8rem;}
.cr-about-card p:not(.cr-eyebrow){
  color:var(--cr-ink);font-size:clamp(1.25rem,1.9vw,1.5rem);font-weight:600;line-height:1.35;
  letter-spacing:-0.01em;max-width:36ch;text-wrap:pretty;
}
@media (max-width:640px){.cr-about-cards{grid-template-columns:1fr;}}

/* quienes somos: texto + composicion sala / terreno */
.cr-about-grid{gap:clamp(32px,5vw,72px) !important;align-items:center;}
.cr-about-grid .cr-section-title{margin:1rem 0 1.4rem;}
.cr-about-visual{position:relative;padding-bottom:clamp(40px,7vw,90px);padding-right:clamp(16px,3vw,40px);}
.cr-about-main{margin:0 !important;}
.cr-about-main img{aspect-ratio:4/3;height:auto;}
.cr-about-inset{
  position:absolute !important;right:0;bottom:0;width:44%;margin:0 !important;z-index:2;
  outline:6px solid var(--cr-paper);box-shadow:0 18px 40px rgba(11,27,48,0.22);
}
.cr-about-inset img{aspect-ratio:1/1;height:auto;}
.cr-about-inset figcaption{top:auto;bottom:0;}
@media (max-width:781px){.cr-about-visual{margin-top:1rem;}}

/* ---------- servicios ---------- */
.cr-service{
  display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(16px,3vw,32px);align-items:start;
  padding:1.7rem 0;border-top:1px solid var(--cr-border);margin:0 !important;
  transition:border-color 0.3s ease;
}
.cr-service:last-child{border-bottom:1px solid var(--cr-border);}
.cr-service:hover{border-color:var(--cr-accent);}
.cr-service > *{margin:0 !important;}
.cr-service h3{font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:700;letter-spacing:-0.01em;}
.cr-service p{color:var(--cr-text-secondary);}
.cr-service:has(.cr-service-photo){grid-template-columns:1fr 1.4fr 180px;align-items:center;}
.cr-service-photo{margin:0 !important;}
.cr-service-photo img{aspect-ratio:4/3;height:auto;}
@media (max-width:900px){.cr-service:has(.cr-service-photo){grid-template-columns:1fr 140px;}.cr-service:has(.cr-service-photo) p{grid-column:1;grid-row:2;}.cr-service-photo{grid-column:2;grid-row:1 / span 2;}}
@media (max-width:640px){
  .cr-service,.cr-service:has(.cr-service-photo){grid-template-columns:1fr;row-gap:0.6rem;}
  .cr-service h3,.cr-service p,.cr-service:has(.cr-service-photo) p{grid-column:1;grid-row:auto;}
  .cr-service-photo{grid-column:1 / -1;grid-row:1;}
  .cr-service-photo img{aspect-ratio:16/9;}
}

/* ---------- areas (bloque dinamico) ---------- */
.cr-areas{display:grid;grid-template-columns:0.5fr 1fr;gap:clamp(24px,4vw,56px);}
.cr-tabs{display:flex;flex-direction:column;border-top:1px solid var(--cr-on-dark-border);align-self:start;}
.cr-tab{
  font:inherit;font-size:1rem;font-weight:500;
  background:transparent;border:0;border-bottom:1px solid var(--cr-on-dark-border);color:var(--cr-on-dark-secondary);
  text-align:left;padding:1rem 0;display:flex;align-items:center;gap:0.9rem;cursor:pointer;
  transition:color 0.3s var(--cr-ease);
}
.cr-tab:hover,.cr-tab[aria-selected="true"]{color:var(--cr-on-dark);}
.cr-tab-icon{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.4;}
.cr-panel{display:grid;grid-template-columns:0.85fr 1fr;gap:clamp(20px,3vw,36px);align-items:start;}
.cr-panel[hidden]{display:none;}
.cr-photo--area img{aspect-ratio:1/1;height:auto;}
.cr-area-note{
  font-size:0.92rem;line-height:1.6;color:var(--cr-on-dark-secondary);
  margin:0 0 0.2rem;padding-bottom:1rem;border-bottom:1px solid var(--cr-on-dark-border);
}
.cr-course-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto;}
.cr-course-list li{
  padding:0.85rem 0;border-top:1px solid var(--cr-on-dark-border);
  display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
}
.cr-course-list li:last-child{border-bottom:1px solid var(--cr-on-dark-border);}
.cr-course-link{color:inherit !important;text-decoration:none;border-bottom:1px solid #2E8FE0;transition:color 0.3s var(--cr-ease);}
.cr-course-link:hover{color:#2E8FE0 !important;}
.cr-course-tag{font-size:0.85rem;font-weight:500;color:#7DB5F2;white-space:nowrap;}
@media (max-width:760px){
  .cr-areas,.cr-panel{grid-template-columns:1fr;}
  .cr-course-list{max-height:none;}
}

/* ---------- clientes ---------- */
.cr-marquee{
  list-style:none;margin:0;padding:1.6rem 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;
  border-top:1px solid var(--cr-border);border-bottom:1px solid var(--cr-border);
}
.cr-marquee li{
  font-size:0.9rem;
  border:1px solid var(--cr-border);padding:0.6em 1.1em;
}
.cr-marquee-wrap .cr-marquee li{white-space:nowrap;}
@media (max-width:760px){.cr-marquee{padding-left:20px;padding-right:20px;}.cr-marquee-wrap .cr-marquee{padding-left:0;padding-right:0;}}
.cr-marquee-wrap{overflow:hidden;border-top:1px solid var(--cr-border);border-bottom:1px solid var(--cr-border);}
.cr-marquee-wrap .cr-marquee{
  flex-wrap:nowrap;justify-content:flex-start;width:max-content;border:0;
  animation:cr-scroll-x 34s linear infinite;
}
.cr-marquee-wrap:hover .cr-marquee{animation-play-state:paused;}
@keyframes cr-scroll-x{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.cr-cities{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;margin-top:clamp(28px,4vw,40px) !important;}
.cr-cities > *{margin:0 !important;}
.cr-cities-label{font-family:inherit;font-size:0.85rem;font-weight:500;color:var(--cr-text-secondary);margin-right:0.6rem !important;}
.cr-city-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0.6rem;}
.cr-city-list li{font-size:0.9rem;background:var(--cr-paper-2);padding:0.45em 0.9em;color:var(--cr-text-secondary);}

/* ---------- contacto ---------- */
.cr-contact{gap:clamp(32px,5vw,64px) !important;}
.cr-contact-title{max-width:14ch;margin-top:1rem !important;}
.cr-contact-info{border-left:1px solid var(--cr-on-dark-border);padding-left:clamp(24px,3vw,40px);}
.cr-contact-info p{color:var(--cr-on-dark-secondary);margin:0;}
.cr-contact-info .wp-block-site-logo{margin-bottom:1.4rem;}
.cr-divider{border:0 !important;border-top:1px solid var(--cr-on-dark-border) !important;margin:1.6rem 0 !important;opacity:1;}
.cr-codes{font-family:var(--cr-mono);font-size:0.82rem;line-height:1.9;color:var(--cr-on-dark-tertiary) !important;}
@media (max-width:781px){.cr-contact-info{border-left:0;border-top:1px solid var(--cr-on-dark-border);padding-left:0;padding-top:2rem;}}

/* ---------- formulario (Contact Form 7) ---------- */
.cr-form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.6rem;margin-top:2rem;}
.cr-field{display:flex;flex-direction:column;gap:0.45rem;}
.cr-field--wide{grid-column:1 / -1;}
.cr-field > span:first-child{font-family:inherit;font-size:0.85rem;font-weight:500;color:var(--cr-on-dark-secondary);}
.cr-form input:not([type=submit]),.cr-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--cr-on-dark-tertiary);
  color:var(--cr-on-dark);font:inherit;font-size:1rem;padding:0.6em 0.1em;border-radius:0;
  transition:border-color 0.4s var(--cr-ease);
}
.cr-form input::placeholder,.cr-form textarea::placeholder{color:var(--cr-on-dark-tertiary);}
.cr-form input:focus,.cr-form textarea:focus{border-color:#2E8FE0;outline:none;}
.cr-form textarea{height:130px;min-height:96px;resize:vertical;}
.cr-submit{
  font:inherit;font-size:0.95rem;font-weight:600;border-radius:3px;
  background:var(--cr-accent);color:var(--cr-paper);border:1px solid var(--cr-accent);
  padding:0.8em 1.35em;cursor:pointer;transition:background-color 0.25s ease;
}
.cr-submit:hover{background:var(--cr-accent-2);}
.wpcf7-not-valid-tip{font-size:0.85rem;color:#F2A7A7;margin-top:0.3rem;}
.wpcf7 form .wpcf7-response-output{
  margin:1.4rem 0 0;padding:0.8rem 1rem;font-size:0.92rem;
  border:1px solid var(--cr-on-dark-border);color:var(--cr-on-dark);
}
.wpcf7-spinner{background-color:var(--cr-on-dark-secondary);}
@media (max-width:640px){.cr-form{grid-template-columns:1fr;}}

/* ---------- ficha de curso ---------- */
.cr-course{padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(64px,8vw,96px);}
.cr-crumb{font-size:0.88rem;color:var(--cr-text-tertiary);}
.cr-crumb a{color:var(--cr-text-secondary);text-decoration:none;}
.cr-crumb a:hover{color:var(--cr-accent);}
.cr-crumb-sep{margin:0 0.5em;}
.cr-crumb-current{color:var(--cr-ink);}
.cr-banner{margin-top:1.2rem !important;}
.cr-banner img{height:clamp(140px,22vw,220px) !important;aspect-ratio:auto !important;}
.cr-course-layout{gap:clamp(28px,4vw,56px) !important;margin-top:clamp(28px,4vw,48px) !important;align-items:flex-start;}
.cr-course-title{font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.05;margin:0.6rem 0 0 !important;}
.cr-badges{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0.6rem;margin:1.2rem 0 0.4rem !important;}
.cr-badges li{
  font-size:0.85rem;
  background:var(--cr-paper-2);color:var(--cr-text-secondary);padding:0.5em 0.9em;
}
.cr-course-block{padding:2.2rem 0 0;margin-top:2.2rem !important;border-top:1px solid var(--cr-border);}
.cr-course-block > p:not(.cr-eyebrow){color:var(--cr-text-secondary);max-width:62ch;}
.cr-course-block .cr-eyebrow{margin-bottom:0.9rem;}
.cr-course-block{counter-reset:cr-module;}
.cr-module{counter-increment:cr-module;border-top:1px solid var(--cr-border);margin:0 !important;}
.cr-module:last-of-type{border-bottom:1px solid var(--cr-border);}
.cr-module summary{
  list-style:none;cursor:pointer;padding:1.1rem 0;display:flex;align-items:center;gap:0.8em;
  font-weight:700;font-size:1.02rem;
}
.cr-module summary::-webkit-details-marker{display:none;}
.cr-module summary::before{content:counter(cr-module, decimal-leading-zero);font-family:var(--cr-mono);font-weight:400;color:var(--cr-text-tertiary);font-size:0.78rem;}
.cr-module summary::after{content:"+";margin-left:auto;font-family:var(--cr-mono);color:var(--cr-text-tertiary);transition:transform 0.4s var(--cr-ease);}
.cr-module[open] summary::after{transform:rotate(45deg);}
.cr-module > :not(summary){color:var(--cr-text-secondary);max-width:60ch;font-size:0.96rem;margin:0 0 1.4rem;}
.cr-duration{gap:1px !important;background:var(--cr-border);border:1px solid var(--cr-border);margin-bottom:1rem;}
.cr-duration-item{background:var(--cr-paper);padding:1.2rem 1.4rem;margin:0 !important;}
.cr-duration-item > *{margin:0;}
.cr-duration-num{font-weight:800;font-size:1.7rem;line-height:1.1;}
.cr-duration-label{font-size:0.88rem;color:var(--cr-text-tertiary);margin-top:0.3rem !important;}
.cr-buy-col{position:sticky;top:96px;}
.cr-buy-card{background:var(--cr-ink);color:var(--cr-on-dark);padding:1.8rem;}
.cr-buy-card > *{margin-top:0;margin-bottom:0;}
.cr-buy-price{font-weight:800;font-size:2.4rem;letter-spacing:-0.02em;line-height:1.1;font-variant-numeric:tabular-nums;}
.cr-buy-ref{font-family:var(--cr-mono);font-size:0.72rem;color:var(--cr-on-dark-tertiary);margin-top:0.3rem !important;}
.cr-buy-actions{margin-top:1.4rem !important;}
.cr-buy-eyebrow{margin-top:1.6rem !important;padding-top:1.4rem;border-top:1px solid var(--cr-on-dark-border);color:var(--cr-on-dark-secondary) !important;font-size:0.9rem;}
.cr-volume-table{margin:0.8rem 0 0 !important;}
.cr-volume-table table{width:100%;border-collapse:collapse;}
.cr-volume-table td{border:0;border-top:1px solid var(--cr-on-dark-border);padding:0.55rem 0;font-size:0.92rem;color:var(--cr-on-dark-secondary);}
.cr-volume-table td:last-child{text-align:right;color:var(--cr-on-dark);font-variant-numeric:tabular-nums;}
.cr-buy-foot{font-size:0.8rem;line-height:1.5;color:var(--cr-on-dark-tertiary);margin-top:0.8rem !important;}
@media (max-width:781px){.cr-buy-col{position:static;}}

/* ---------- proyectos: indice y clientes ---------- */
.cr-projects-page{padding-top:clamp(28px,4vw,48px);}
.cr-projects-head{gap:clamp(28px,4vw,56px) !important;align-items:center;margin-bottom:clamp(32px,5vw,56px) !important;}
.cr-projects-head .cr-section-title{margin:1rem 0 1.2rem;}
.cr-projects-intro{color:var(--cr-text-secondary);font-size:1.05rem;max-width:52ch;}
.cr-photo--wide img{aspect-ratio:3/2;height:auto;}
.cr-client-head{margin-bottom:clamp(32px,5vw,48px) !important;}
.cr-client-head .cr-section-title{margin:0.8rem 0 1rem;}
.cr-client-filter-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;margin-bottom:clamp(28px,4vw,40px) !important;}
.cr-client-filter-wrap > *{margin:0 !important;}
.cr-client-filter{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0.5rem;}
.cr-client-filter li{font-size:0.88rem;color:var(--cr-text-secondary);}
.cr-client-filter a{
  display:inline-block;background:var(--cr-paper-2);color:var(--cr-text-secondary);text-decoration:none;
  padding:0.65em 0.95em;transition:background-color 0.3s var(--cr-ease), color 0.3s var(--cr-ease);
}
.cr-client-filter a:hover{background:var(--cr-ink);color:var(--cr-paper);}
.cr-projects .wp-block-post-template{gap:clamp(20px,2.4vw,32px) !important;}
@media (max-width:900px){.cr-projects .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:600px){.cr-projects .wp-block-post-template{grid-template-columns:1fr !important;}}
.cr-project-card{display:flex;flex-direction:column;gap:0.5rem;margin:0 !important;}
.cr-project-card > *{margin:0 !important;}

.cr-project-card:not(:has(.wp-block-post-featured-image))::before{
  content:"Sin registro fotográfico";display:flex;align-items:flex-end;aspect-ratio:4/3;padding:1rem;
  font-size:0.88rem;color:var(--cr-on-dark-tertiary);
  background:var(--cr-ink) radial-gradient(circle at 100% 0%, rgba(0,72,168,0.35), transparent 60%);
}
.cr-card-meta{font-size:0.85rem;font-weight:600;color:var(--cr-accent);margin-top:0.4rem !important;}
.cr-card-title{font-size:1.15rem;line-height:1.25;letter-spacing:-0.01em;}
.cr-card-title a{color:var(--cr-ink);text-decoration:none;}
.cr-card-title a:hover{color:var(--cr-accent);}

/* ---------- proyecto individual ---------- */
.cr-project-head{margin-top:clamp(20px,3vw,32px) !important;}
.cr-project-head .cr-eyebrow a{color:inherit;text-decoration:none;}
.cr-project-head .cr-eyebrow a:hover{color:var(--cr-accent);}
.cr-project-layout{gap:clamp(28px,4vw,56px) !important;margin-top:clamp(24px,3vw,36px) !important;align-items:flex-start;}
.cr-project-layout p{color:var(--cr-text-secondary);font-size:1.05rem;max-width:62ch;}
.cr-facts{margin:0;}
.cr-facts table{width:100%;border-collapse:collapse;border-top:1px solid var(--cr-ink);}
.cr-facts td{border:0;border-bottom:1px solid var(--cr-border);padding:0.8rem 0.6rem 0.8rem 0;vertical-align:top;font-size:0.95rem;}
.cr-facts td:first-child{
  width:34%;font-size:0.88rem;font-weight:500;
  color:var(--cr-text-secondary);
}
.wp-block-gallery.cr-project-gallery{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,16px) !important;
  margin-top:clamp(36px,5vw,64px) !important;
}
.wp-block-gallery.cr-project-gallery > figure.wp-block-image{
  width:auto !important;margin:0 !important;aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--cr-ink);
}
.wp-block-gallery.cr-project-gallery > figure.wp-block-image img{
  width:100%;height:100% !important;object-fit:cover;
  filter:saturate(0.9) contrast(1.04);
}
@media (max-width:760px){.wp-block-gallery.cr-project-gallery{grid-template-columns:repeat(2,1fr);}}
.cr-project-back{margin-top:clamp(40px,5vw,64px) !important;}
.cr-marquee a{color:inherit;text-decoration:none;}

/* franja de logos de clientes (galeria) */
.wp-block-gallery.cr-logos{
  display:flex !important;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:1.6rem 3.6rem !important;margin:0 !important;padding:2rem 20px;
  border-top:1px solid var(--cr-border);border-bottom:1px solid var(--cr-border);
}
.wp-block-gallery.cr-logos > figure.wp-block-image{width:auto !important;flex:0 0 auto !important;margin:0 !important;}
.wp-block-gallery.cr-logos img{
  height:48px !important;width:auto !important;max-width:170px !important;object-fit:contain !important;
  opacity:0.82;transition:opacity 0.4s var(--cr-ease), transform 0.5s var(--cr-ease);
}
.wp-block-gallery.cr-logos a:hover img,.wp-block-gallery.cr-logos a:focus-visible img{opacity:1;transform:scale(1.04);}
.cr-marquee-wrap .wp-block-gallery.cr-logos{
  flex-wrap:nowrap;justify-content:flex-start;width:max-content;border:0;padding-left:0;padding-right:0;
  gap:3.6rem !important;animation:cr-scroll-x 38s linear infinite;
}
.cr-marquee-wrap:hover .cr-logos{animation-play-state:paused;}
.cr-marquee li:has(a):hover{border-color:var(--cr-accent);color:var(--cr-accent);}
.cr-gallery-cta{margin-top:clamp(24px,3vw,36px) !important;}

/* ---------- pie ---------- */
.wp-site-blocks > footer{margin-block-start:0;}
.cr-footer{background:#050D18;border-top:1px solid rgba(241,244,248,0.08);color:var(--cr-on-dark-tertiary);padding-left:clamp(20px,5vw,64px) !important;padding-right:clamp(20px,5vw,64px) !important;gap:0.6rem 2rem;}
.cr-footer p{font-size:0.88rem;margin:0;}
.cr-footer a{color:var(--cr-on-dark-secondary);text-decoration:none;}
.cr-footer a:hover{color:var(--cr-on-dark);}

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

/* ---------- ajustes de auditoria (contraste y areas tactiles) ---------- */
/* accion principal sobre fondo oscuro: boton claro, se distingue del fondo azul noche */
.cr-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link,.cr-buy-card .wp-block-button:not(.is-style-outline) .wp-block-button__link,.cr-dark .cr-submit{
  background:var(--cr-paper);color:var(--cr-ink) !important;border-color:var(--cr-paper);
}
.cr-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,.cr-buy-card .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,.cr-dark .cr-submit:hover{background:#FFFFFF;border-color:#FFFFFF;}
.cr-dark .wp-block-button.is-style-outline .wp-block-button__link{color:var(--cr-on-dark);border-color:var(--cr-on-dark-secondary);}
.cr-dark .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(241,244,248,0.08);color:var(--cr-on-dark);border-color:var(--cr-on-dark);}
/* menu movil y migas: area tactil minima */
.wp-block-navigation__responsive-container-open{padding:10px;margin:-10px;}
.cr-crumb a{display:inline-block;padding:0.7em 0;}
/* contacto: enlace a Google Maps junto a la direccion */
.cr-contact-info a.cr-directions{display:inline-block;margin-top:0.5rem;padding:0.3rem 0;font-weight:600;color:#7DB5F2;}
.cr-contact-info a.cr-directions:hover{color:var(--cr-on-dark);}

/* ficha minima de curso (cursos aun sin contenido) */
.cr-course-fallback{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,56px);align-items:start;margin-top:clamp(28px,4vw,48px);}
.cr-course-fallback .cr-course-title{margin:0.6rem 0 0;}
.cr-course-fallback .cr-course-block p{color:var(--cr-text-secondary);max-width:62ch;margin:0;}
.cr-course-fallback-photo{margin:2.2rem 0 0;}
.cr-course-fallback-photo img{aspect-ratio:16/9;height:auto;}
.cr-buy-lead{font-weight:700;font-size:1.35rem;line-height:1.25;}
.cr-buy-lead + .cr-buy-ref{font-family:inherit;font-size:0.95rem;line-height:1.5;color:var(--cr-on-dark-secondary);margin-top:0.6rem !important;}
@media (max-width:781px){.cr-course-fallback{grid-template-columns:1fr;}}
/* temario en lista (cursos con contenidos sin descripcion por modulo) */
.cr-syllabus{list-style:none;padding:0;margin:0;border-bottom:1px solid var(--cr-border);}
.cr-syllabus > li{padding:0.9rem 0;border-top:1px solid var(--cr-border);font-weight:600;}
.cr-syllabus ul{list-style:disc;margin:0.5rem 0 0;padding-left:1.2rem;font-weight:400;color:var(--cr-text-secondary);}
.cr-syllabus ul li{padding:0.15rem 0;}
