:root {
--rojo:         #B8232F;
--rojo-dark:    #8C1A23;
--rojo-soft:    rgba(184, 35, 47, .08);
--dorado:       #C9973A;
--dorado-light: #E8B85A;
--dorado-soft:  rgba(201, 151, 58, .12);
--navy:         #1A1F2E;
--navy-mid:     #252B3D;
--navy-deep:    #0F121C;
--gris:         #F5F3EF;
--gris-borde:   #E4E0D8;
--blanco:       #FFFFFF;
--texto:        #2C2C2C;
--texto-suave:  #6B6B6B;
--font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
--font-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--container:      1440px;
--container-slim: 820px;
--nav-height:     70px;
--radius:         10px;
--radius-sm:      6px;
--shadow-sm: 0 4px 12px rgba(0, 0, 0, .06);
--shadow-md: 0 12px 32px rgba(0, 0, 0, .10);
--shadow-lg: 0 24px 60px rgba(0, 0, 0, .18);
--ease: cubic-bezier(.4, 0, .2, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-height) + 20px); }
body {
margin: 0;
font-family: var(--font-sans);
font-size: 17px;
line-height: 1.7;
color: var(--texto);
background: var(--blanco);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
img, svg, video, iframe { max-width: 100%; height: auto; display: block; }
img { border-style: none; }
a { color: var(--rojo); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--rojo-dark); }
h1, h2, h3, h4, h5, h6 {
margin: 0 0 .6em;
font-family: var(--font-serif);
font-weight: 700;
line-height: 1.2;
color: var(--navy);
}
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.3em; }
blockquote {
margin: 1.6em 0;
padding: .2em 0 .2em 1.4em;
border-left: 3px solid var(--dorado);
font-family: var(--font-serif);
font-style: italic;
font-size: 1.15rem;
color: var(--navy);
}
hr { border: none; border-top: 1px solid var(--gris-borde); margin: 2.4em 0; }
table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; font-size: .95rem; }
th, td { padding: .7em .9em; border-bottom: 1px solid var(--gris-borde); text-align: left; }
th { background: var(--gris); font-weight: 600; color: var(--navy); }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; }
code { background: var(--gris); padding: .15em .4em; border-radius: 3px; } .site-main { display: block; }
.container {
width: 100%;
max-width: var(--container);
margin-inline: auto;
padding-inline: 5vw;
}
.container-narrow { max-width: var(--container-slim); }
section { padding: 100px 0; }
section.alignfull, .alignfull { width: 100%; } .bg-blanco   { background: var(--blanco); }
.bg-gris     { background: var(--gris); }
.bg-navy     { background: var(--navy); }
.bg-navy-mid { background: var(--navy-mid); }
.bg-rojo     { background: var(--rojo); }
.bg-navy h1, .bg-navy h2, .bg-navy h3,
.bg-navy-mid h1, .bg-navy-mid h2, .bg-navy-mid h3 { color: var(--blanco); } .section-header { margin-bottom: 56px; max-width: 720px; }
.section-header-inline {
max-width: none;
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 40px;
flex-wrap: wrap;
}
.section-tag { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.section-tag::before { content: ''; width: 28px; height: 2px; background: var(--rojo); flex-shrink: 0; }
.section-tag span {
font-family: var(--font-sans);
font-size: .7rem; font-weight: 700;
letter-spacing: .18em; text-transform: uppercase;
color: var(--rojo);
}
.section-tag.gold::before { background: var(--dorado); }
.section-tag.gold span { color: var(--dorado-light); }
.section-tag.center { justify-content: center; width: 100%; }
.section-title {
font-size: clamp(1.75rem, 3.4vw, 2.8rem);
margin-bottom: 20px;
}
.section-title.light { color: var(--blanco); }
.section-lead {
font-size: 1.03rem;
line-height: 1.85;
color: var(--texto-suave);
max-width: 620px;
margin-bottom: 0;
}
.section-lead.light { color: rgba(255, 255, 255, .68); }
.section-lead p:last-child { margin-bottom: 0; }
.text-center { text-align: center; }
.text-center .section-lead { margin-inline: auto; } .btn {
display: inline-flex; align-items: center; justify-content: center; gap: 8px;
padding: 14px 30px;
border: 1.5px solid transparent;
border-radius: var(--radius-sm);
font-family: var(--font-sans);
font-size: .82rem; font-weight: 600;
letter-spacing: .06em; text-transform: uppercase;
text-decoration: none; text-align: center;
cursor: pointer;
transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible { outline: 2px solid var(--dorado); outline-offset: 3px; }
.btn-sm { padding: 10px 20px; font-size: .74rem; }
.btn-primary { background: var(--rojo); color: #fff; box-shadow: 0 8px 24px rgba(184, 35, 47, .32); }
.btn-primary:hover { background: var(--rojo-dark); color: #fff; box-shadow: 0 12px 32px rgba(184, 35, 47, .42); }
.btn-outline { background: transparent; color: var(--dorado); border-color: rgba(201, 151, 58, .5); }
.btn-outline:hover { background: var(--dorado-soft); border-color: var(--dorado); color: var(--dorado-light); }
.btn-gold { background: var(--dorado); color: var(--navy); border-color: var(--dorado); box-shadow: 0 8px 24px rgba(201, 151, 58, .34); }
.btn-gold:hover { background: var(--dorado-light); color: var(--navy); border-color: var(--dorado-light); box-shadow: 0 12px 30px rgba(201, 151, 58, .42); }
.btn-white { background: #fff; color: var(--rojo); }
.btn-white:hover { background: rgba(255, 255, 255, .9); color: var(--rojo-dark); }
.btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
.btn-ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
.btn-red-outline { background: transparent; color: var(--rojo); border-color: rgba(184, 35, 47, .4); white-space: nowrap; }
.btn-red-outline:hover { background: var(--rojo-soft); border-color: var(--rojo); color: var(--rojo-dark); }
.btn-navy { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--navy-mid); color: #fff; }
.btn-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; } .fade-up {
opacity: 0;
transform: translateY(26px);
transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.fade-up.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
.fade-up { opacity: 1; transform: none; transition: none; }
*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
} .screen-reader-text {
border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
height: 1px; width: 1px; overflow: hidden;
position: absolute !important; word-wrap: normal !important;
margin: -1px; padding: 0;
}
.screen-reader-text:focus {
clip: auto !important; clip-path: none;
background: #fff; color: var(--rojo);
display: block; height: auto; width: auto;
padding: 14px 22px; left: 6px; top: 6px;
font-size: .9rem; font-weight: 600;
border-radius: var(--radius-sm);
box-shadow: var(--shadow-md);
z-index: 200;
}
.skip-link { position: absolute; }
:focus-visible { outline: 2px solid var(--dorado); outline-offset: 2px; } .alignwide { max-width: 1320px; margin-inline: auto; }
.aligncenter { margin-inline: auto; }
.ccpch-flash {
margin: 0 0 28px;
padding: 16px 20px;
border-radius: var(--radius-sm);
font-size: .95rem;
border-left: 4px solid;
}
.ccpch-flash-ok    { background: #eef8f1; border-color: #2e9e5b; color: #1d6b3c; }
.ccpch-flash-error { background: #fdeeee; border-color: var(--rojo); color: var(--rojo-dark); }.search-form { display: flex; gap: 10px; margin-bottom: 40px; max-width: 620px; }
.search-form input[type='search'] {
flex: 1;
padding: 13px 16px;
font-family: inherit; font-size: .93rem;
background: var(--gris);
border: 1px solid var(--gris-borde);
border-radius: var(--radius-sm);
}
.search-form input[type='search']:focus { outline: none; background: #fff; border-color: var(--rojo); }
.pagination { margin-top: 56px; }
.pagination ul { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.pagination a, .pagination span {
display: inline-flex; align-items: center; justify-content: center;
min-width: 42px; height: 42px; padding: 0 14px;
border: 1px solid var(--gris-borde);
border-radius: var(--radius-sm);
font-size: .85rem; font-weight: 600;
color: var(--texto);
transition: border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.pagination a:hover { border-color: var(--rojo); color: var(--rojo); }
.pagination .current { background: var(--rojo); border-color: var(--rojo); color: #fff; }
.widget { margin-bottom: 34px; }
.widget-title {
font-size: 1.02rem; margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 2px solid var(--rojo);
}
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { padding: 8px 0; border-bottom: 1px solid var(--gris-borde); font-size: .88rem; }
.widget li:last-child { border-bottom: none; }
.widget-posts a { display: flex; gap: 12px; align-items: center; color: inherit; }
.widget-posts img { width: 62px; height: 62px; object-fit: cover; border-radius: var(--radius-sm); flex-shrink: 0; }
.widget-posts strong { display: block; font-family: var(--font-serif); font-size: .9rem; line-height: 1.35; color: var(--navy); }
.widget-posts a:hover strong { color: var(--rojo); }
.widget-posts time { font-size: .74rem; color: var(--texto-suave); }
.content-none { text-align: center; padding: 60px 0; }
.content-none .search-form { margin-inline: auto; }
.error-404 { padding: calc(var(--nav-height) + 90px) 0 110px; text-align: center; }
.error-code {
display: block;
font-family: var(--font-serif); font-size: clamp(5rem, 16vw, 10rem);
font-weight: 700; line-height: 1;
color: rgba(184, 35, 47, .12);
margin-bottom: -.2em;
}
.error-404 .search-form { margin-inline: auto; }
.error-404 .btn-row { justify-content: center; }.site-header { position: relative; z-index: 100; }
.navbar {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
height: var(--nav-height);
background: rgba(26, 31, 46, .97);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(201, 151, 58, .2);
transition: border-color .3s var(--ease), background .3s var(--ease);
}
.navbar.is-scrolled { border-bottom-color: rgba(201, 151, 58, .45); }
.admin-bar .navbar { top: 32px; }
.nav-container {
height: 100%;
max-width: 1440px;
margin-inline: auto;
padding-inline: 5vw;
display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.nav-brand { display: flex; align-items: center; flex-shrink: 0; }
.nav-logo-img, .nav-brand .custom-logo { height: 46px; width: auto; display: block; }
.nav-logo-text { display: flex; flex-direction: column; line-height: 1.15; }
.nav-logo-text span:first-child {
font-family: var(--font-serif); font-size: .95rem; font-weight: 700;
color: var(--dorado); letter-spacing: .04em;
}
.nav-logo-text span:last-child {
font-size: .65rem; color: rgba(255, 255, 255, .5);
letter-spacing: .08em; text-transform: uppercase;
}
.nav-panel { display: block; }
.nav-panel-head { display: none; }
.nav-panel-body { display: flex; align-items: center; }
.nav-overlay { display: none; }
.nav-links {
display: flex; align-items: center; gap: 2px;
list-style: none; margin: 0; padding: 0;
}
.nav-links > li { position: relative; }
.nav-links a {
display: block;
padding: 9px 14px;
border-radius: var(--radius-sm);
color: rgba(255, 255, 255, .82);
font-size: .78rem; font-weight: 500;
letter-spacing: .05em; text-transform: uppercase;
white-space: nowrap;
transition: color .2s var(--ease), background .2s var(--ease);
}
.nav-links a:hover,
.nav-links > li.active > a { color: var(--dorado); background: rgba(201, 151, 58, .1); }
.nav-caret { font-size: .7em; opacity: .7; }
.nav-links a.nav-cta,
.nav-links .nav-cta > a {
background: var(--rojo); color: #fff;
padding: 9px 20px;
}
.nav-links a.nav-cta:hover { background: var(--rojo-dark); color: #fff; }  .nav-links > li.has-dropdown::after {
content: '';
position: absolute; top: 100%; left: 0; width: max(100%, 220px);
height: 10px;
}
.dropdown {
display: none;
position: absolute; top: calc(100% + 8px); left: 0;
min-width: 220px; padding: 6px;
background: var(--navy-mid);
border: 1px solid rgba(201, 151, 58, .2);
border-radius: 8px;
box-shadow: 0 20px 40px rgba(0, 0, 0, .45);
}
.has-dropdown:hover > .dropdown,
.has-dropdown:focus-within > .dropdown,
.has-dropdown.is-open > .dropdown { display: block; }
.dropdown a {
font-size: .76rem; text-transform: none; letter-spacing: .02em;
padding: 9px 12px; color: rgba(255, 255, 255, .78);
}
.dropdown a:hover, .dropdown a.active { color: var(--dorado); background: rgba(201, 151, 58, .12); }
.dropdown-toggle { display: none; } .nav-toggle {
display: none;
width: 42px; height: 42px;
flex-direction: column; align-items: center; justify-content: center; gap: 5px;
background: transparent; border: 1px solid rgba(255, 255, 255, .2);
border-radius: var(--radius-sm); cursor: pointer;
}
.nav-toggle-bar {
display: block; width: 20px; height: 2px;
background: #fff; border-radius: 2px;
transition: transform .3s var(--ease), opacity .2s var(--ease);
}
.navbar.is-open .nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.navbar.is-open .nav-toggle-bar:nth-child(2) { opacity: 0; }
.navbar.is-open .nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-close { display: none; } .page-banner {
position: relative;
min-height: 420px;
margin-top: var(--nav-height);
display: flex; align-items: flex-end;
overflow: hidden;
background: var(--navy);
}
.page-banner > img {
position: absolute; inset: 0;
width: 100%; height: 100%;
object-fit: cover;
}
.banner-overlay {
position: absolute; inset: 0;
background: linear-gradient(to bottom, rgba(20, 24, 38, .55) 0%, rgba(20, 24, 38, .72) 55%, rgba(20, 24, 38, .94) 100%);
}
.banner-content {
position: relative; z-index: 2;
padding-block: 60px 56px;
}
.banner-tag {
display: inline-block;
padding: 6px 16px; margin-bottom: 18px;
background: rgba(201, 151, 58, .14);
border: 1px solid rgba(201, 151, 58, .38);
border-radius: 100px;
font-size: .68rem; font-weight: 700;
letter-spacing: .14em; text-transform: uppercase;
color: var(--dorado-light);
}
.banner-content h1 {
font-size: clamp(2rem, 5vw, 3.4rem);
color: #fff; margin-bottom: 14px;
}
.banner-content h1 em {
color: var(--dorado);
font-style: italic;
}
.banner-content > p {
max-width: 620px;
font-size: 1.03rem; line-height: 1.8;
color: rgba(255, 255, 255, .72);
margin-bottom: 0;
}
.banner-badge {
display: inline-block;
margin-top: 18px;
padding: 7px 14px;
border-radius: 4px;
background: var(--rojo);
color: #fff;
font-size: .72rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
}
.banner-meta {
display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
font-size: .82rem; color: rgba(255, 255, 255, .6);
} .breadcrumb { margin-top: 22px; }
.breadcrumb ol {
display: flex; flex-wrap: wrap; gap: 8px;
list-style: none; margin: 0; padding: 0;
font-size: .74rem; letter-spacing: .04em;
color: rgba(255, 255, 255, .48);
}
.breadcrumb li + li::before { content: '/'; margin-right: 8px; opacity: .5; }
.breadcrumb a { color: rgba(255, 255, 255, .68); }
.breadcrumb a:hover { color: var(--dorado); }
.breadcrumb [aria-current] { color: var(--dorado-light); }.site-footer {
background: var(--navy-deep);
color: rgba(255, 255, 255, .6);
padding: 80px 0 0;
font-size: .88rem;
}
.footer-inner {
max-width: var(--container);
margin-inline: auto;
padding-inline: 5vw;
}
.footer-top {
display: grid;
grid-template-columns: 1.6fr repeat(3, 1fr);
gap: 48px;
padding-bottom: 56px;
}
.footer-logo { height: 54px; width: auto; margin-bottom: 18px; }
.footer-brand-name {
display: block;
font-family: var(--font-serif); font-size: 1.2rem; font-weight: 700;
color: var(--dorado); margin-bottom: 12px;
}
.footer-brand-text {
font-size: .86rem; line-height: 1.8;
color: rgba(255, 255, 255, .5);
max-width: 340px;
}
.footer-socials { display: flex; gap: 10px; margin-top: 22px; }
.social-btn {
width: 38px; height: 38px;
display: inline-flex; align-items: center; justify-content: center;
border: 1px solid rgba(255, 255, 255, .14);
border-radius: 50%;
color: rgba(255, 255, 255, .65);
transition: color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.social-btn:hover {
color: var(--dorado); border-color: rgba(201, 151, 58, .5);
background: rgba(201, 151, 58, .1); transform: translateY(-2px);
}
.footer-col-title {
font-family: var(--font-serif);
font-size: .95rem; font-weight: 700;
color: var(--blanco);
margin-bottom: 18px;
}
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a {
color: rgba(255, 255, 255, .5);
font-size: .85rem;
transition: color .2s var(--ease), padding-left .2s var(--ease);
}
.footer-links a:hover { color: var(--dorado); padding-left: 4px; }
.footer-bottom {
display: flex; align-items: center; justify-content: space-between;
gap: 20px; flex-wrap: wrap;
padding: 24px 0 30px;
border-top: 1px solid rgba(255, 255, 255, .07);
}
.footer-bottom-text { font-size: .78rem; color: rgba(255, 255, 255, .38); }
.footer-sep { margin: 0 10px; opacity: .4; }
.footer-legal { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.footer-legal a { font-size: .78rem; color: rgba(255, 255, 255, .38); }
.footer-legal a:hover { color: var(--dorado); } .back-to-top {
position: fixed; right: 22px; bottom: 22px; z-index: 90;
width: 46px; height: 46px;
display: inline-flex; align-items: center; justify-content: center;
background: var(--rojo); color: #fff;
border: none; border-radius: 50%;
box-shadow: 0 8px 24px rgba(184, 35, 47, .35);
cursor: pointer;
opacity: 0; transform: translateY(12px);
transition: opacity .3s var(--ease), transform .3s var(--ease), background .2s var(--ease);
}
.back-to-top.is-visible { opacity: 1; transform: none; }
.back-to-top:hover { background: var(--rojo-dark); }.ccpch-hero {
position: relative;
min-height: 100vh;
display: flex; align-items: center; justify-content: center;
overflow: hidden;
padding: 0;
background: var(--navy);
}
.hero-photo {
position: absolute; inset: 0;
background-size: cover; background-position: center 30%;
}
.hero-overlay {
position: absolute; inset: 0;
background: linear-gradient(to bottom,
rgba(20, 24, 38, .72) 0%,
rgba(20, 24, 38, .55) 40%,
rgba(20, 24, 38, .75) 75%,
rgba(20, 24, 38, .95) 100%);
}
.hero-corner { position: absolute; width: 180px; height: 180px; opacity: .25; color: var(--dorado); }
.hero-corner.tl { top: 0; left: 0; }
.hero-corner.br { bottom: 90px; right: 0; transform: rotate(180deg); }
.hero-content {
position: relative; z-index: 2;
max-width: 900px;
padding: 130px 5vw 120px;
text-align: center;
}
.hero-badge {
display: inline-flex; align-items: center; gap: 8px;
padding: 6px 16px; margin-bottom: 30px;
background: rgba(201, 151, 58, .12);
border: 1px solid rgba(201, 151, 58, .38);
border-radius: 100px;
}
.hero-badge span:last-child {
font-size: .7rem; font-weight: 600;
letter-spacing: .12em; text-transform: uppercase;
color: var(--dorado-light);
}
.hero-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--dorado); flex-shrink: 0; }
.hero-eyebrow {
font-size: .74rem; font-weight: 500;
letter-spacing: .2em; text-transform: uppercase;
color: var(--dorado); margin-bottom: 18px;
}
.hero-title {
font-size: clamp(2.4rem, 6vw, 4.8rem);
line-height: 1.1; color: #fff; margin-bottom: 12px;
}
.hero-title em { font-style: italic; color: var(--dorado); }
.hero-subtitle {
font-family: var(--font-serif);
font-size: clamp(1rem, 2.4vw, 1.5rem);
color: rgba(255, 255, 255, .5);
letter-spacing: .08em; margin-bottom: 26px;
}
.hero-divider {
width: 80px; height: 2px; margin: 0 auto 26px;
background: linear-gradient(to right, transparent, var(--dorado), transparent);
}
.hero-desc {
max-width: 600px; margin: 0 auto 42px;
font-size: 1.05rem; font-weight: 300; line-height: 1.85;
color: rgba(255, 255, 255, .72);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.hero-stats {
position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
display: flex; justify-content: center;
background: rgba(15, 18, 28, .78);
backdrop-filter: blur(10px);
border-top: 1px solid rgba(255, 255, 255, .08);
}
.hero-stats .stat-item {
flex: 1; max-width: 230px;
padding: 22px 20px; text-align: center;
border-right: 1px solid rgba(255, 255, 255, .07);
}
.hero-stats .stat-item:last-child { border-right: none; }
.hero-stats .stat-num {
font-family: var(--font-serif); font-size: 2rem; font-weight: 700;
line-height: 1; color: var(--dorado);
}
.hero-stats .stat-label {
margin-top: 5px;
font-size: .68rem; font-weight: 500;
letter-spacing: .12em; text-transform: uppercase;
color: rgba(255, 255, 255, .42);
} .tusan-strip {
display: flex; min-height: 420px;
background: var(--navy);
overflow: hidden;
}
.tusan-strip.is-reversed { flex-direction: row-reverse; }
.tusan-photo {
flex: 1; position: relative;
background-size: cover; background-position: center;
}
.tusan-photo::after {
content: ''; position: absolute; inset: 0;
background: linear-gradient(to right, transparent 55%, var(--navy) 100%);
}
.tusan-strip.is-reversed .tusan-photo::after {
background: linear-gradient(to left, transparent 55%, var(--navy) 100%);
}
.tusan-content {
flex: 0 0 480px;
display: flex; flex-direction: column; justify-content: center;
padding: 60px 5vw 60px 40px;
}
.tusan-quote {
margin: 0 0 20px; padding: 0; border: none;
font-family: var(--font-serif);
font-size: clamp(1.8rem, 3vw, 2.8rem);
font-weight: 700; font-style: italic; line-height: 1.2;
color: var(--dorado);
}
.tusan-sub { font-size: 1rem; line-height: 1.75; color: rgba(255, 255, 255, .65); margin-bottom: 30px; }
.tusan-hashtag { font-size: 1.1rem; font-weight: 700; letter-spacing: .06em; color: var(--rojo); } .ccpch-text-media {
max-width: none;
margin-inline: 0;
}
.ccpch-text-media > .container {
max-width: 1440px;
}
.intro-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center;
}
.media-derecha .intro-photo { order: 2; }
.intro-photo { position: relative; }
.intro-photo img {
width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
border-radius: var(--radius-sm);
box-shadow: var(--shadow-lg);
}
.media-badge {
position: absolute;
padding: 18px 22px;
border-radius: var(--radius-sm);
text-align: center;
line-height: 1.2;
}
.media-badge-num {
display: block;
font-family: var(--font-serif); font-size: 2rem; font-weight: 700; line-height: 1;
}
.media-badge-label {
display: block; margin-top: 5px;
font-size: .65rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase; opacity: .9;
}
.badge-rojo { bottom: -16px; right: -16px; background: var(--rojo); color: #fff; box-shadow: 0 8px 24px rgba(184, 35, 47, .4); }
.badge-dorado { top: -20px; left: -20px; background: var(--dorado); color: var(--navy); box-shadow: 0 8px 24px rgba(201, 151, 58, .35); }
.pillars-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 34px; }
.pillar {
background: #fff; border-radius: 8px;
padding: 20px; border-left: 3px solid var(--rojo);
box-shadow: var(--shadow-sm);
}
.bg-navy .pillar, .bg-navy-mid .pillar { background: rgba(255, 255, 255, .05); box-shadow: none; }
.pillar-title { font-family: var(--font-serif); font-size: .95rem; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
.bg-navy .pillar-title { color: var(--dorado); }
.pillar-text { font-size: .82rem; line-height: 1.65; color: var(--texto-suave); margin: 0; }
.bg-navy .pillar-text { color: rgba(255, 255, 255, .6); } .stat-row { display: flex; flex-wrap: wrap; gap: 36px; margin-top: 34px; } .ccpch-text-media .stat-row {
gap: 0;
margin-top: 40px;
padding-top: 28px;
border-top: 1px solid var(--gris-borde);
}
.ccpch-text-media .stat {
flex: 1 1 0;
min-width: 120px;
padding-inline: 26px;
border-left: 1px solid var(--gris-borde);
}
.ccpch-text-media .stat:first-child { padding-left: 0; border-left: 0; }
.ccpch-text-media .stat-num { font-size: 2.5rem; }
.ccpch-text-media .stat-label { margin-top: 8px; }
.ccpch-text-media.bg-navy .stat-row,
.ccpch-text-media.bg-navy-mid .stat-row { border-top-color: rgba(255, 255, 255, .12); }
.ccpch-text-media.bg-navy .stat,
.ccpch-text-media.bg-navy-mid .stat { border-left-color: rgba(255, 255, 255, .12); }
.ccpch-stats .stat-row { justify-content: center; gap: 56px; margin-top: 0; }
.ccpch-stats { padding: 64px 0; }
.stat { display: flex; flex-direction: column; }
.stat-num {
font-family: var(--font-serif); font-size: 2.2rem; font-weight: 700;
line-height: 1; color: var(--rojo);
}
.bg-navy .stat-num, .bg-navy-mid .stat-num { color: var(--dorado); }
.stat-label {
margin-top: 6px;
font-size: .7rem; font-weight: 600;
letter-spacing: .1em; text-transform: uppercase;
color: var(--texto-suave);
}
.bg-navy .stat-label { color: rgba(255, 255, 255, .45); } .cards-grid, .posts-grid { display: grid; gap: 24px; }
.cols-2 .cards-grid, .cols-2 .posts-grid, .posts-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.cols-3 .cards-grid, .cols-3 .posts-grid, .posts-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.cols-4 .cards-grid, .cols-4 .posts-grid, .posts-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.cols-2 .posts-grid:has(> :last-child:nth-child(1)),
.cols-3 .posts-grid:has(> :last-child:nth-child(1)),
.cols-4 .posts-grid:has(> :last-child:nth-child(1)) { grid-template-columns: 1fr; }
.cols-3 .posts-grid:has(> :last-child:nth-child(2)),
.cols-4 .posts-grid:has(> :last-child:nth-child(2)) { grid-template-columns: repeat(2, 1fr); }
.cards-grid:not([class*='cols-']) { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.card {
display: flex; flex-direction: column;
background: #fff;
border: 1px solid var(--gris-borde);
border-radius: var(--radius);
overflow: hidden;
color: inherit;
transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: rgba(184, 35, 47, .3); color: inherit; }
.bg-gris .card { border-color: transparent; }
.bg-navy .card, .bg-navy-mid .card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .08); }
.card-link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.card-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--gris); }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.card:hover .card-media img { transform: scale(1.05); }
.card-tag {
position: absolute; top: 14px; left: 14px;
padding: 5px 12px; border-radius: 100px;
background: rgba(184, 35, 47, .92); color: #fff;
font-size: .64rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
}
.card-body { padding: 26px 24px; display: flex; flex-direction: column; flex: 1; }
.card-icon { font-size: 1.7rem; line-height: 1; margin-bottom: 12px; }
.card-title { font-size: 1.12rem; margin-bottom: 10px; }
.bg-navy .card-title, .bg-navy-mid .card-title { color: var(--blanco); }
.card-text { font-size: .89rem; line-height: 1.7; color: var(--texto-suave); margin-bottom: 16px; }
.bg-navy .card-text { color: rgba(255, 255, 255, .6); }
.card-arrow {
margin-top: auto;
font-size: .74rem; font-weight: 700;
letter-spacing: .08em; text-transform: uppercase;
color: var(--rojo);
}
.card-meta-tag {
display: inline-block;
margin-top: auto;
padding: 4px 11px;
border-radius: 3px;
background: var(--gris);
color: var(--texto-suave);
font-size: .68rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
}
.bg-navy .card-arrow { color: var(--dorado); }
.cards-icono .card-media { display: none; }
.cards-simple .card { border: none; background: transparent; box-shadow: none; }
.cards-simple .card:hover { transform: none; box-shadow: none; }
.cards-simple .card-body { padding: 0; } .ccpch-mosaic { background: var(--navy); padding: 100px 0; overflow: hidden; }
.mosaic-header {
width: 100%; max-width: var(--container); margin: 0 auto 56px; padding-inline: 5vw;
display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; flex-wrap: wrap;
}
.mosaic-header .section-lead { max-width: 320px; }
.mosaic-grid {
width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 5vw;
display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
grid-auto-rows: minmax(200px, auto);
}
.mosaic-card {
position: relative;
border: 1px solid rgba(255, 255, 255, .06);
border-radius: var(--radius);
overflow: hidden;
background: var(--navy-mid);
transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.mosaic-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0, 0, 0, .5); }
.mosaic-card.large { grid-column: span 2; grid-row: span 2; }
.mosaic-card.tall { grid-row: span 2; }
.mosaic-card-inner {
position: relative; height: 100%; min-height: 200px;
display: flex; flex-direction: column; justify-content: flex-end;
padding: 24px; overflow: hidden;
}
.mosaic-photo {
position: absolute; inset: 0;
background-size: cover; background-position: center;
transition: transform .6s var(--ease);
}
.mosaic-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mosaic-card:hover .mosaic-photo { transform: scale(1.06); }
.mosaic-overlay {
position: absolute; inset: 0;
background: linear-gradient(to top, rgba(15, 18, 28, .94) 0%, rgba(15, 18, 28, .55) 45%, rgba(15, 18, 28, .2) 100%);
}
.mosaic-icon { position: absolute; top: 20px; right: 22px; font-size: 1.5rem; opacity: .85; z-index: 2; }
.mosaic-content { position: relative; z-index: 2; }
.mosaic-title { font-size: 1.2rem; color: #fff; margin-bottom: 8px; }
.mosaic-card.large .mosaic-title { font-size: 1.7rem; }
.mosaic-desc { font-size: .85rem; line-height: 1.65; color: rgba(255, 255, 255, .62); margin-bottom: 12px; }
.mosaic-arrow {
font-size: .72rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
color: var(--dorado);
opacity: 0; transform: translateY(6px);
transition: opacity .3s var(--ease), transform .3s var(--ease);
display: inline-block;
}
.mosaic-card:hover .mosaic-arrow { opacity: 1; transform: none; }
.archive-mosaic { margin-top: 0; }
.ccpch-mosaic.archive-mosaic {
padding-top: 56px;
padding-inline: 0;
}
.ccpch-mosaic.archive-mosaic > .mosaic-grid {
width: 100%;
max-width: var(--container);
margin-inline: auto;
padding-inline: 5vw;
} #actividades.ccpch-posts {
max-width: none;
margin-inline: 0;
}
#actividades.ccpch-posts > .container {
max-width: var(--container);
}
.post-card, .act-card {
display: flex; flex-direction: column;
background: #fff; border: 1px solid var(--gris-borde);
border-radius: var(--radius); overflow: hidden;
transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.post-card:hover, .act-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.post-card-link, .act-card-link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.post-card-img, .act-card-img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--gris); }
.post-card-img img, .act-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.post-card:hover .post-card-img img, .act-card:hover .act-card-img img { transform: scale(1.05); }
.post-card-body, .act-card-body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.post-card-title, .act-card-title { font-size: 1.08rem; line-height: 1.35; margin-bottom: 10px; }
.post-card-text, .act-card-text { font-size: .87rem; line-height: 1.7; color: var(--texto-suave); margin-bottom: 16px; }
.act-card-date, .act-card-place {
font-size: .72rem; font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
color: var(--dorado); margin-bottom: 8px;
}
.act-card-place { color: var(--texto-suave); margin: auto 0 0; text-transform: none; letter-spacing: 0; }
.act-card-tag, .news-cat {
display: inline-block;
padding: 5px 12px; border-radius: 100px;
background: rgba(184, 35, 47, .1); color: var(--rojo);
font-size: .64rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
}
.act-card-tag { position: absolute; top: 14px; left: 14px; background: rgba(184, 35, 47, .92); color: #fff; }
.post-card-img .news-cat { position: absolute; top: 14px; left: 14px; background: rgba(184, 35, 47, .92); color: #fff; }
.news-meta { font-size: .74rem; color: var(--texto-suave); margin-bottom: 10px; display: flex; gap: 10px; flex-wrap: wrap; }
.read-more { margin-top: auto; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rojo); }
.post-card-featured { grid-column: 1 / -1; }
.post-card-featured .post-card-link { flex-direction: row; }
.post-card-featured .post-card-img { flex: 0 0 52%; aspect-ratio: auto; }
.post-card-featured .post-card-body { padding: 40px; justify-content: center; }
.post-card-featured .post-card-title { font-size: 1.6rem; } .actividades-featured.ccpch-posts {
padding: 88px 0 48px;
}
.actividades-featured .section-header-inline {
display: block;
margin-bottom: 32px;
}
.act-card-featured {
grid-column: 1 / -1;
overflow: hidden;
border: 0;
border-radius: 12px;
background: var(--navy);
}
.act-card-featured:hover {
box-shadow: var(--shadow-lg);
}
.act-card-featured .act-card-link {
display: grid;
grid-template-columns: 1.2fr 1fr;
min-height: 400px;
}
.act-card-featured .act-card-img {
aspect-ratio: auto;
min-height: 400px;
}
.act-card-featured .act-card-img::after {
display: none;
}
.act-card-featured .act-card-img img {
height: 100%;
}
.act-card-featured .act-card-tag {
display: none;
}
.act-card-featured .act-card-body {
padding: 48px;
justify-content: center;
}
.act-card-featured .act-card-title {
color: #fff;
font-size: clamp(1.7rem, 2.4vw, 2.05rem);
margin: 0 0 16px;
}
.act-card-featured .act-card-text {
color: rgba(255, 255, 255, .66);
font-size: .94rem;
line-height: 1.75;
margin-bottom: 28px;
}
.event-badge {
display: inline-flex;
align-self: flex-start;
padding: 6px 14px;
border-radius: 100px;
margin-bottom: 20px;
font-size: .7rem;
font-weight: 700;
letter-spacing: .1em;
line-height: 1.4;
text-transform: uppercase;
}
.badge-cultural { background: rgba(201, 151, 58, .2); color: var(--dorado-light); }
.badge-deportiva,
.badge-deportivo { background: rgba(184, 35, 47, .2); color: #f87580; }
.badge-social { background: rgba(72, 152, 111, .2); color: #7ed4aa; }
.badge-infantil { background: rgba(99, 111, 230, .2); color: #a8b2ff; }
.event-meta {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 30px;
}
.event-meta span {
display: flex;
align-items: center;
gap: 10px;
color: rgba(255, 255, 255, .58);
font-size: .86rem;
}
.event-meta i {
color: var(--dorado);
font-style: normal;
}
.cat-filter {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin: -28px 0 42px;
}
.cat-btn {
display: inline-flex;
align-items: center;
min-height: 40px;
padding: 8px 22px;
border: 1.5px solid #ddd;
border-radius: 100px;
background: #fff;
color: var(--texto-suave);
font-family: var(--font-sans);
font-size: .82rem;
font-weight: 600;
letter-spacing: .04em;
cursor: pointer;
transition: background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.cat-btn.active,
.cat-btn:hover {
background: var(--rojo);
border-color: var(--rojo);
color: #fff;
}
.act-card[hidden] {
display: none;
}
.ccpch-posts.bg-gris .act-card {
box-shadow: 0 4px 20px rgba(0, 0, 0, .07);
}
.ccpch-posts.bg-gris .act-card-img {
aspect-ratio: auto;
height: 200px;
}
.ccpch-posts.bg-gris .act-card-tag {
position: static;
background: rgba(201, 151, 58, .16);
color: #8a6420;
}
.ccpch-posts.bg-gris .badge-deportiva,
.ccpch-posts.bg-gris .badge-deportivo {
background: rgba(184, 35, 47, .12);
color: var(--rojo);
}
.ccpch-posts.bg-gris .badge-social {
background: rgba(72, 152, 111, .13);
color: #2d6b52;
}
.ccpch-posts.bg-gris .badge-infantil {
background: rgba(99, 111, 230, .12);
color: #3a46a0;
}
.event-date-chip {
position: absolute;
top: 16px;
left: 16px;
z-index: 2;
min-width: 54px;
padding: 8px 10px;
border-radius: 6px;
background: var(--navy);
color: #fff;
text-align: center;
line-height: 1.1;
}
.event-date-chip span:first-child {
display: block;
color: var(--dorado);
font-family: var(--font-serif);
font-size: 1.38rem;
font-weight: 700;
}
.event-date-chip span:last-child {
display: block;
font-size: .68rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
}
.event-info {
display: flex;
flex-wrap: wrap;
gap: 18px;
margin-top: auto;
color: var(--texto-suave);
font-size: .8rem;
}
.actividades-programas .section-header {
margin-inline: auto;
text-align: center;
}
.actividades-programas .section-tag {
justify-content: center;
}
.actividades-programas .section-lead {
margin-inline: auto;
}
.actividades-programas .card {
position: relative;
display: block;
height: 280px;
overflow: hidden;
border: 0;
border-radius: 10px;
background: var(--navy);
color: inherit;
}
.actividades-programas .card-media {
position: absolute;
inset: 0;
aspect-ratio: auto;
height: 100%;
}
.actividades-programas .card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(26, 31, 46, .88) 0%, rgba(26, 31, 46, .1) 65%);
}
.actividades-programas .card-media img {
height: 100%;
}
.actividades-programas .card-body {
position: relative;
z-index: 2;
height: 100%;
justify-content: flex-end;
padding: 24px;
}
.actividades-programas .card-title {
color: #fff;
font-size: 1.32rem;
}
.actividades-programas .card-text {
color: rgba(255, 255, 255, .68);
margin-bottom: 0;
}
.actividades-programas .card-arrow {
display: none;
}
.actividades-programas .card-tag {
top: 16px;
right: 16px;
left: auto;
background: rgba(201, 151, 58, .92);
}
.actividades-cta.cta-banner .cta-banner-photo.no-image {
background: var(--navy);
} .ccpch-gallery { padding: 90px 0; overflow: hidden; }
.gallery-header { width: 100%; max-width: var(--container); margin: 0 auto 40px; padding-inline: 5vw; } .gallery-carrusel .gallery-track {
width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 5vw;
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-auto-rows: 150px;
grid-auto-flow: dense;
gap: 12px;
}
.gallery-carrusel .gallery-item { grid-column: span 2; grid-row: span 1; }
.gallery-carrusel .gallery-item:nth-child(5n + 1) { grid-column: span 2; grid-row: span 2; }
.gallery-carrusel .gallery-item:nth-child(5n + 2) { grid-column: span 4; grid-row: span 1; }
.gallery-carrusel .gallery-item:nth-child(5n + 3) { grid-column: span 2; grid-row: span 1; }
.gallery-carrusel .gallery-item:nth-child(5n + 4) { grid-column: span 2; grid-row: span 2; }
.gallery-carrusel .gallery-item:nth-child(5n + 5) { grid-column: span 2; grid-row: span 2; } .gallery-mosaico .gallery-track {
position: relative;
width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 5vw;
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-auto-rows: 168px;
gap: 12px;
}
.gallery-mosaico .cell-1 { grid-column: span 2; grid-row: span 2; }
.gallery-mosaico .cell-4 { grid-column: span 2; } .gallery-mosaico .gallery-track[data-count="1"] { grid-template-columns: 1fr; }
.gallery-mosaico .gallery-track[data-count="1"] .cell-1 { grid-column: 1; grid-row: span 2; }
.gallery-mosaico .gallery-track[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
.gallery-mosaico .gallery-track[data-count="2"] .cell-1 { grid-column: span 1; }
.gallery-mosaico .gallery-track[data-count="2"] .cell-2 { grid-row: span 2; }
.gallery-mosaico .gallery-track[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
.gallery-mosaico .gallery-track[data-count="3"] .cell-1 { grid-column: span 1; }
.gallery-mosaico .gallery-track[data-count="4"] .cell-4 { grid-column: span 1; }
.gallery-mosaico .gallery-track[data-count="5"] .cell-5 { grid-column: span 2; } .gallery-item.has-more a::after {
content: ''; position: absolute; inset: 0;
background: rgba(10, 12, 20, .55);
transition: background .3s var(--ease);
}
.gallery-item.has-more:hover a::after { background: rgba(10, 12, 20, .4); }
.gallery-more {
position: absolute; inset: 0; z-index: 2;
display: flex; align-items: center; justify-content: center;
color: #fff; font-size: 1.5rem; font-weight: 800; letter-spacing: .02em;
text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
pointer-events: none;
} .gallery-hidden-link {
position: absolute; width: 1px; height: 1px;
padding: 0; margin: -1px; overflow: hidden;
clip-path: inset(50%); border: 0;
}
.gallery-item {
position: relative;
margin: 0; border-radius: var(--radius-sm); overflow: hidden;
background: var(--navy-mid);
}
.gallery-item a { position: relative; display: block; height: 100%; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease), opacity .3s var(--ease); }
.gallery-item:hover img { transform: scale(1.06); opacity: .9; }
.ccpch-lightbox {
position: fixed; inset: 0; z-index: 999;
display: flex; align-items: center; justify-content: center;
background: rgba(10, 12, 20, .94);
padding: 5vw;
}
.ccpch-lightbox[hidden] { display: none; }
.ccpch-lightbox img { max-width: 100%; max-height: 90vh; object-fit: contain; border-radius: var(--radius-sm); }
.lightbox-close {
position: absolute; top: 18px; right: 22px;
width: 44px; height: 44px;
background: rgba(255, 255, 255, .1); color: #fff;
border: none; border-radius: 50%;
font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.lightbox-close:hover { background: rgba(255, 255, 255, .2); } .cta-banner { padding: 0; }
.cta-banner-photo {
position: relative;
background-size: cover; background-position: center;
background-color: var(--navy);
}
.cta-banner-photo::before {
content: ''; position: absolute; inset: 0;
background: linear-gradient(120deg, rgba(140, 26, 35, .92) 0%, rgba(26, 31, 46, .88) 100%);
}
.cta-banner-inner {
position: relative; z-index: 2;
max-width: 780px; margin-inline: auto;
padding: 100px 5vw;
text-align: center;
}
.cta-banner-inner .section-tag span { color: rgba(255, 255, 255, .75); }
.cta-banner-inner .section-tag::before { background: rgba(255, 255, 255, .5); }
.cta-banner-title { font-size: clamp(1.8rem, 4vw, 2.9rem); color: #fff; margin-bottom: 18px; }
.cta-banner-text { font-size: 1.02rem; line-height: 1.85; color: rgba(255, 255, 255, .8); margin-bottom: 36px; }
.cta-banner-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; } .ccpch-bungalows-intro,
.bungalows-features,
.ccpch-bungalow-types,
.bungalows-location {
padding: 90px 0;
}
.bungalows-intro-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}
.bungalows-photo-stack { position: relative; }
.bungalows-photo-main,
.bungalows-photo-secondary {
margin: 0;
overflow: hidden;
border-radius: var(--radius-sm);
background: var(--navy-mid);
}
.bungalows-photo-main { box-shadow: 0 20px 50px rgba(0, 0, 0, .15); }
.bungalows-photo-main img {
display: block;
width: 100%;
height: min(420px, 58vw);
object-fit: cover;
}
.bungalows-photo-secondary {
position: absolute;
right: -24px;
bottom: -24px;
width: 55%;
border: 4px solid #fff;
box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
}
.bungalows-photo-secondary img {
display: block;
width: 100%;
height: 180px;
object-fit: cover;
}
.bungalows-intro-text { padding-bottom: 32px; }
.bungalows-intro-text .section-lead { max-width: none; }
.bungalows-intro-text .section-lead p + p { margin-top: 16px; }
.bungalows-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 32px;
}
.bungalows-features .section-header { margin-bottom: 56px; }
.bungalows-features .cards-grid { gap: 20px; }
.bungalows-features .card {
border-radius: 10px;
background: rgba(255, 255, 255, .04);
}
.bungalows-features .card:hover {
background: rgba(255, 255, 255, .08);
border-color: rgba(201, 151, 58, .35);
box-shadow: none;
transform: translateY(-3px);
}
.bungalows-features .card-body { padding: 32px 28px; }
.bungalows-features .card-icon {
font-size: 2.2rem;
margin-bottom: 16px;
}
.bungalows-features .card-title { font-size: 1.05rem; }
.bungalows-features .card-text { font-size: .82rem; }
.bungalow-types-header .section-lead { max-width: 540px; }
.bungalow-types-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 48px;
}
.bungalow-type-card {
display: flex;
flex-direction: column;
overflow: hidden;
border-radius: 12px;
background: #fff;
box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.bungalow-type-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(0, 0, 0, .14);
}
.bungalow-type-card.is-featured { border: 2px solid var(--dorado); }
.bungalow-type-head {
padding: 32px 28px 24px;
border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.bungalow-type-card.is-featured .bungalow-type-head {
background: linear-gradient(135deg, rgba(201, 151, 58, .08), transparent);
}
.bungalow-type-badge {
display: inline-block;
margin-bottom: 16px;
padding: 4px 10px;
border-radius: 4px;
font-size: .65rem;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
}
.badge-estandar { background: rgba(26, 31, 46, .08); color: var(--navy); }
.badge-premium { background: rgba(201, 151, 58, .15); color: #9a6e22; }
.badge-suite { background: rgba(184, 35, 47, .1); color: var(--rojo); }
.bungalow-type-head h3 {
margin-bottom: 6px;
font-size: 1.4rem;
color: var(--navy);
}
.bungalow-type-head p {
margin: 0;
font-size: .82rem;
line-height: 1.55;
color: var(--texto-suave);
}
.bungalow-type-benefits {
flex: 1;
list-style: none;
margin: 0;
padding: 24px 28px;
}
.bungalow-type-benefits li {
display: flex;
align-items: center;
gap: 10px;
padding: 7px 0;
border-bottom: 1px solid rgba(0, 0, 0, .04);
font-size: .82rem;
line-height: 1.45;
color: var(--texto-suave);
}
.bungalow-type-benefits li:last-child { border-bottom: 0; }
.bungalow-type-benefits li::before {
content: '✓';
flex-shrink: 0;
color: var(--dorado);
font-weight: 700;
}
.bungalow-type-footer {
padding: 20px 28px;
background: var(--gris);
}
.bungalow-type-card.is-featured .bungalow-type-footer { background: rgba(201, 151, 58, .06); }
.bungalow-type-footer .btn {
width: 100%;
justify-content: center;
text-align: center;
}
.bungalows-location .intro-grid { gap: 80px; }
.bungalows-location .intro-photo img { height: 440px; }
.bungalows-location .section-lead { max-width: none; }
.bungalows-location .section-lead p + p { margin-top: 14px; }
.bungalows-location .info-list {
display: flex;
flex-direction: column;
gap: 14px;
list-style: none;
margin: 28px 0 0;
padding: 0;
}
.bungalows-location .info-list li {
display: flex;
align-items: flex-start;
gap: 14px;
font-size: .9rem;
line-height: 1.5;
color: var(--texto-suave);
}
.bungalows-location .info-list strong { color: var(--navy); }
.bungalows-location .info-list small { font-size: .82rem; }
.bungalows-location .info-icon {
width: 36px;
height: 36px;
display: inline-flex;
flex: 0 0 36px;
align-items: center;
justify-content: center;
border-radius: 8px;
background: var(--gris);
}
.bungalows-cta,
.bungalows-cta .cta-banner-photo {
background-color: var(--rojo);
}
.bungalows-cta .cta-banner-photo.no-image {
background-image:
repeating-linear-gradient(-45deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .035) 1px, transparent 1px, transparent 40px),
linear-gradient(var(--rojo), var(--rojo)) !important;
}
.bungalows-cta .cta-banner-photo.no-image::before {
display: none;
}
.bungalows-cta .cta-banner-photo.has-image::before {
background: linear-gradient(120deg, rgba(184, 35, 47, .88) 0%, rgba(184, 35, 47, .74) 100%);
}
.bungalows-cta .cta-banner-inner { max-width: 700px; }
.bungalows-cta .btn-white {
background: transparent;
color: #fff;
border-color: rgba(255, 255, 255, .5);
}
.bungalows-cta .btn-white:hover { background: rgba(255, 255, 255, .08); } .timeline-list { list-style: none; margin: 0; padding: 0; position: relative; }
.timeline-vertical .timeline-list::before {
content: ''; position: absolute; top: 8px; bottom: 8px; left: 23px;
width: 2px; background: linear-gradient(to bottom, var(--dorado), rgba(201, 151, 58, .1));
}
.timeline-item { position: relative; display: flex; gap: 26px; padding-bottom: 42px; }
.timeline-item:last-child { padding-bottom: 0; } .timeline-vertical .timeline-item .timeline-dot-col,
.timeline-pasos .timeline-item .timeline-dot-col { order: -1; }
.timeline-vertical .timeline-empty,
.timeline-pasos .timeline-empty { display: none; }
.timeline-marker {
flex: 0 0 48px; height: 48px;
display: flex; align-items: center; justify-content: center;
background: var(--rojo); color: #fff;
border: 3px solid var(--gris);
border-radius: 50%;
font-family: var(--font-serif); font-weight: 700; font-size: .9rem;
z-index: 1;
}
.bg-blanco .timeline-marker { border-color: #fff; }
.bg-navy .timeline-marker { border-color: var(--navy); background: var(--dorado); color: var(--navy); }
.timeline-title { font-size: 1.15rem; margin-bottom: 8px; }
.bg-navy .timeline-title { color: var(--blanco); }
.timeline-text { font-size: .93rem; line-height: 1.8; color: var(--texto-suave); }
.bg-navy .timeline-text { color: rgba(255, 255, 255, .62); }
.timeline-img { margin-top: 16px; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.timeline-pasos .timeline-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 28px; }
.timeline-pasos .timeline-list::before { display: none; }
.timeline-pasos .timeline-item { flex-direction: column; gap: 16px; padding-bottom: 0; text-align: left; } .timeline-pasos .timeline-marker { flex: 0 0 auto; width: 48px; height: 48px; }  .timeline-zigzag,
.entry-content .timeline-zigzag.alignwide,
.entry-content .timeline-zigzag.alignfull {
width: 100%; max-width: none; margin-inline: 0;
}
.timeline-zigzag .container { max-width: calc(900px + 10vw); margin-inline: auto; }
.timeline-zigzag .section-header { text-align: center; }
.timeline-zigzag .section-header .section-tag { justify-content: center; }
.timeline-zigzag .timeline-list { position: relative; }
.timeline-zigzag .timeline-list::before {
content: ''; position: absolute; left: 50%; top: 0; bottom: 0;
width: 2px; transform: translateX(-50%);
background: linear-gradient(to bottom, transparent, rgba(201, 151, 58, .4) 10%, rgba(201, 151, 58, .4) 90%, transparent);
}
.timeline-zigzag .timeline-item {
display: grid; grid-template-columns: 1fr 60px 1fr;
gap: 0; margin-bottom: 48px; padding-bottom: 0; align-items: start;
} .timeline-zigzag .timeline-body,
.timeline-zigzag .timeline-empty { min-width: 0; }
.timeline-zigzag .timeline-item:last-child { margin-bottom: 0; }
.timeline-zigzag .timeline-dot-col {
grid-column: 2; display: flex; justify-content: center; padding-top: 4px;
}
.timeline-zigzag .timeline-marker {
flex: none; width: 48px; height: 48px;
background: var(--navy-mid); border: 2px solid var(--dorado); color: var(--dorado);
font-size: .65rem; line-height: 1.1; text-align: center;
} .timeline-zigzag .timeline-item:nth-child(odd) .timeline-body {
grid-column: 1; text-align: right; padding-right: 36px;
}
.timeline-zigzag .timeline-item:nth-child(odd) .timeline-empty { grid-column: 3; }
.timeline-zigzag .timeline-item:nth-child(even) .timeline-empty { grid-column: 1; }
.timeline-zigzag .timeline-item:nth-child(even) .timeline-body {
grid-column: 3; padding-left: 36px;
} .timeline-zigzag .timeline-item:last-child .timeline-marker {
border-color: var(--rojo); background: rgba(184, 35, 47, .15); color: var(--rojo);
}
.timeline-zigzag .timeline-year {
font-family: var(--font-serif); font-size: 1.4rem; font-weight: 700;
color: var(--dorado); line-height: 1; margin-bottom: 6px;
}
.timeline-zigzag .timeline-title { font-size: .9rem; font-weight: 600; margin-bottom: 6px; }
.timeline-zigzag .timeline-text { font-size: .8rem; line-height: 1.6; }
.timeline-zigzag .timeline-text p { margin: 0; } .pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: stretch; }
.plan {
position: relative;
display: flex; flex-direction: column;
background: #fff;
border: 1px solid var(--gris-borde);
border-radius: var(--radius);
padding: 34px 30px;
transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.plan:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.plan-featured { border-color: var(--rojo); box-shadow: 0 16px 40px rgba(184, 35, 47, .14); }
.plan-badge {
position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
padding: 5px 16px; border-radius: 100px;
background: var(--rojo); color: #fff;
font-size: .64rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
white-space: nowrap;
}
.plan-name { font-size: 1.25rem; margin-bottom: 12px; }
.plan-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 14px; }
.plan-price-value { font-family: var(--font-serif); font-size: 2.4rem; font-weight: 700; color: var(--rojo); line-height: 1; }
.plan-price-period { font-size: .8rem; color: var(--texto-suave); }
.plan-desc { font-size: .88rem; line-height: 1.7; color: var(--texto-suave); margin-bottom: 20px; }
.plan-benefits { list-style: none; margin: 0 0 26px; padding: 0; flex: 1; }
.plan-benefits li {
position: relative;
padding: 8px 0 8px 26px;
font-size: .89rem; line-height: 1.6;
border-bottom: 1px solid var(--gris-borde);
}
.plan-benefits li:last-child { border-bottom: none; }
.plan-benefits li::before {
content: '✓'; position: absolute; left: 0; top: 8px;
color: var(--dorado); font-weight: 700;
}
.pricing-note { margin-top: 28px; font-size: .84rem; color: var(--texto-suave); text-align: center; } .accordion-list { display: flex; flex-direction: column; gap: 12px; }
.accordion-item {
background: #fff;
border: 1px solid var(--gris-borde);
border-radius: var(--radius-sm);
overflow: hidden;
transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.accordion-item[open] { border-color: rgba(184, 35, 47, .35); box-shadow: var(--shadow-sm); }
.accordion-head {
display: flex; align-items: center; justify-content: space-between; gap: 18px;
padding: 18px 22px;
cursor: pointer; list-style: none;
font-family: var(--font-serif); font-weight: 700; font-size: 1rem;
color: var(--navy);
}
.accordion-head::-webkit-details-marker { display: none; }
.accordion-head:hover { background: var(--gris); }
.accordion-title { display: flex; align-items: center; gap: 12px; }
.accordion-num {
flex-shrink: 0;
padding: 3px 10px; border-radius: 4px;
background: var(--rojo-soft); color: var(--rojo);
font-family: var(--font-sans); font-size: .7rem; font-weight: 700;
letter-spacing: .06em;
}
.accordion-icon {
flex-shrink: 0; width: 12px; height: 12px;
border-right: 2px solid var(--rojo); border-bottom: 2px solid var(--rojo);
transform: rotate(45deg); transform-origin: 65% 65%;
transition: transform .25s var(--ease);
}
.accordion-item[open] .accordion-icon { transform: rotate(225deg); }
.accordion-body { padding: 0 22px 22px; font-size: .93rem; line-height: 1.85; color: var(--texto-suave); }
.accordion-body > :first-child { margin-top: 0; } .people-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.person {
background: #fff;
border: 1px solid var(--gris-borde);
border-radius: var(--radius);
overflow: hidden;
transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.person:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.person-lead { grid-column: span 2; display: flex; border-color: var(--dorado); }
.person-lead .person-photo { flex: 0 0 45%; }
.person-lead .person-body { display: flex; flex-direction: column; justify-content: center; }
.person-photo {
position: relative; aspect-ratio: 4 / 5;
background: var(--gris);
display: flex; align-items: center; justify-content: center;
overflow: hidden;
}
.person-photo img { width: 100%; height: 100%; object-fit: cover; }
.person-initials { font-family: var(--font-serif); font-size: 3rem; font-weight: 700; color: rgba(184, 35, 47, .25); }
.person-body { padding: 22px 20px; }
.person-role {
display: block; margin-bottom: 6px;
font-size: .68rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
color: var(--rojo);
}
.person-name { font-size: 1.05rem; margin-bottom: 6px; }
.person-lead .person-name { font-size: 1.5rem; }
.person-extra { font-size: .84rem; color: var(--texto-suave); margin-bottom: 8px; }
.person-mail { font-size: .8rem; word-break: break-all; } .directiva-intro blockquote,
.directiva-foro blockquote {
margin-top: 24px;
padding: 20px 24px;
background: #fff;
border-left: 4px solid var(--dorado);
border-radius: var(--radius-sm);
box-shadow: var(--shadow-sm);
font-family: var(--font-sans);
font-size: .92rem;
font-style: italic;
line-height: 1.7;
color: var(--texto-suave);
}
.directiva-intro blockquote strong { color: var(--navy); }
.directiva-intro .intro-photo img,
.directiva-foro .intro-photo img {
box-shadow: 0 20px 50px rgba(0, 0, 0, .15);
}
.directiva-board .section-header {
max-width: var(--container);
margin-bottom: 56px;
}
.directiva-board .section-tag span { color: rgba(201, 151, 58, .9); }
.directiva-board .section-tag::before { background: var(--dorado); }
.directiva-board .section-title,
.directiva-board .section-lead { color: #fff; }
.directiva-board .section-lead { color: rgba(255, 255, 255, .5); }
.directiva-board .people-grid {
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.directiva-board .person {
background: rgba(255, 255, 255, .04);
border-color: rgba(255, 255, 255, .08);
border-radius: 10px;
}
.directiva-board .person:hover {
background: rgba(255, 255, 255, .07);
border-color: rgba(201, 151, 58, .3);
}
.directiva-board .person-lead {
grid-column: 1 / -1;
display: flex;
align-items: center;
gap: 34px;
padding: 40px;
background: linear-gradient(135deg, rgba(184, 35, 47, .18), rgba(201, 151, 58, .1));
border-color: rgba(201, 151, 58, .25);
}
.directiva-board .person-photo {
width: 64px;
aspect-ratio: 1;
margin: 28px 24px 0;
border-radius: 50%;
background: rgba(255, 255, 255, .08);
border: 1.5px solid rgba(201, 151, 58, .3);
}
.directiva-board .person-lead .person-photo {
flex: 0 0 120px;
width: 120px;
margin: 0;
border: 3px solid var(--dorado);
background: linear-gradient(135deg, var(--rojo), var(--rojo-dark));
}
.directiva-board .person-photo img { border-radius: 50%; }
.directiva-board .person-initials {
font-size: 1.6rem;
color: rgba(255, 255, 255, .75);
}
.directiva-board .person-lead .person-initials { font-size: 2.8rem; }
.directiva-board .person-body { padding: 0 24px 28px; }
.directiva-board .person-lead .person-body { padding: 0; }
.directiva-board .person-role {
color: var(--dorado);
letter-spacing: .15em;
}
.directiva-board .person-name {
color: #fff;
font-size: 1.08rem;
}
.directiva-board .person-lead .person-name { font-size: 1.8rem; }
.directiva-board .person-extra {
color: rgba(255, 255, 255, .55);
line-height: 1.65;
}
.directiva-board .person-mail { color: var(--dorado); }
.directiva-comisiones .card {
border-left: 3px solid var(--rojo);
box-shadow: var(--shadow-sm);
} .estatutos-intro,
.estatutos-capitulos,
.estatutos-historial {
padding-block: 80px;
}
.estatutos-intro .section-tag,
.estatutos-capitulos .section-tag,
.estatutos-historial .section-tag {
display: block;
margin-bottom: 12px;
}
.estatutos-intro .section-tag::before,
.estatutos-capitulos .section-tag::before,
.estatutos-historial .section-tag::before {
display: none;
}
.estatutos-intro .section-tag span,
.estatutos-capitulos .section-tag span {
color: var(--rojo);
}
.estatutos-intro .section-title,
.estatutos-capitulos .section-title {
font-size: clamp(2rem, 3vw, 2.4rem);
margin-bottom: 20px;
}
.estatutos-intro .intro-grid {
gap: 80px;
}
.estatutos-intro .section-lead {
font-size: 1rem;
line-height: 1.8;
color: var(--texto-suave);
}
.estatutos-intro .intro-photo img {
height: 440px;
aspect-ratio: auto;
object-fit: cover;
border-radius: 4px;
box-shadow: none;
}
.estatutos-download-card {
display: flex;
align-items: center;
gap: 24px;
margin-top: 32px;
padding: 28px 30px;
background: var(--gris);
border-left: 4px solid var(--dorado);
border-radius: 8px;
}
.estatutos-download-icon {
flex: 0 0 auto;
font-size: 2.4rem;
line-height: 1;
}
.estatutos-download-card h4 {
margin: 0 0 4px;
font-family: var(--font-sans);
font-size: 1rem;
color: var(--navy);
}
.estatutos-download-card p {
margin: 0 0 14px;
font-size: .86rem;
color: var(--texto-suave);
}
.estatutos-download-card .btn {
padding: 10px 22px;
border-radius: 4px;
font-size: .8rem;
}
.estatutos-capitulos .entry-content,
.ccpch-statutes-summary {
font-size: 1rem;
line-height: 1.7;
}
.estatutos-capitulos > .container,
.ccpch-statutes-summary > .container {
max-width: var(--container);
}
.estatutos-layout {
display: grid;
grid-template-columns: 260px 1fr;
gap: 64px;
margin-top: 48px;
}
.estatutos-nav {
position: sticky;
top: calc(var(--nav-height) + 30px);
align-self: start;
}
.estatutos-nav-title {
margin-bottom: 14px;
font-size: .72rem;
font-weight: 700;
letter-spacing: .15em;
text-transform: uppercase;
color: var(--texto-suave);
}
.estatutos-nav a {
display: block;
padding: 10px 14px;
border-left: 3px solid transparent;
border-radius: 4px;
color: var(--texto-suave);
font-size: .88rem;
text-decoration: none;
transition: color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), padding-left .2s var(--ease);
}
.estatutos-nav a:hover,
.estatutos-nav a.active-cap {
color: var(--rojo);
background: rgba(184, 35, 47, .06);
border-left-color: var(--rojo);
padding-left: 18px;
}
.estatutos-chapter {
padding: 0 0 48px;
margin: 0 0 48px;
border-bottom: 1px solid var(--gris-borde);
}
.estatutos-chapter:last-child {
margin-bottom: 0;
border-bottom: none;
}
.estatutos-chapter-header {
display: flex;
align-items: flex-start;
gap: 22px;
margin-bottom: 24px;
}
.estatutos-chapter-num {
width: 48px;
height: 48px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
background: var(--rojo);
color: #fff;
font-family: var(--font-serif);
font-weight: 700;
}
.estatutos-chapter h3 {
margin: 0 0 2px;
font-size: 1.4rem;
}
.estatutos-chapter-header span:not(.estatutos-chapter-num) {
font-size: .78rem;
color: var(--texto-suave);
}
.estatutos-chapter article {
margin: 0 0 16px;
padding: 24px;
background: #fff;
border-left: 3px solid var(--dorado);
border-radius: 6px;
box-shadow: 0 1px 0 rgba(26, 31, 46, .03);
transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.estatutos-chapter article:hover {
transform: translateY(-2px);
border-left-color: var(--rojo);
box-shadow: var(--shadow-sm);
}
.estatutos-chapter article strong {
display: block;
margin-bottom: 8px;
font-size: .72rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--dorado);
}
.estatutos-chapter article p {
margin: 0;
font-size: .92rem;
color: var(--texto);
}
.estatutos-historial .section-tag span { color: var(--dorado); }
.estatutos-historial .section-tag::before { background: var(--dorado); }
.estatutos-historial .cards-grid {
gap: 24px;
}
.estatutos-historial .card {
align-items: center;
text-align: center;
border: none;
border-top: 3px solid var(--dorado);
border-radius: 8px;
background: rgba(255, 255, 255, .05);
}
.estatutos-historial .card:hover {
transform: translateY(-4px);
box-shadow: none;
}
.estatutos-historial .card-icon {
font-family: var(--font-serif);
font-size: 1.8rem;
font-weight: 700;
color: var(--dorado-light);
}
.estatutos-historial .card-title {
color: #fff;
font-family: var(--font-sans);
font-size: .94rem;
}
.estatutos-historial .card-text {
color: rgba(255, 255, 255, .55);
}
.estatutos-cta {
padding: 0;
}
.estatutos-cta .cta-banner-photo {
background-image: none !important;
background-color: var(--navy);
}
.estatutos-cta .cta-banner-photo::before {
display: none;
}
.estatutos-cta .cta-banner-inner {
max-width: 620px;
padding-block: 80px;
}
.estatutos-cta .cta-banner-title {
font-size: clamp(2rem, 3vw, 2.4rem);
}
.estatutos-cta .cta-banner-text {
max-width: 500px;
margin-inline: auto;
}
.estatutos-cta .btn-primary {
background: var(--dorado);
color: var(--navy);
}
.estatutos-cta .btn-outline {
border-color: rgba(255, 255, 255, .4);
color: #fff;
}
.estatutos-cta .btn-outline:hover {
border-color: var(--dorado);
color: var(--dorado);
} .reglamentos-overview { padding: 80px 0; }
.reglamentos-overview .section-tag { margin-bottom: 12px; }
.reglamentos-overview .cards-grid { gap: 24px; margin-top: 32px; }
.reglamentos-overview .card {
align-items: center;
border: 0;
border-top: 4px solid var(--rojo);
border-radius: 8px;
text-align: center;
box-shadow: 0 4px 20px rgba(0, 0, 0, .07);
}
.reglamentos-overview .card:hover {
box-shadow: 0 14px 34px rgba(0, 0, 0, .1);
transform: translateY(-4px);
}
.reglamentos-overview .card-body {
align-items: center;
padding: 28px;
}
.reglamentos-overview .card-icon {
font-size: 2.2rem;
margin-bottom: 12px;
}
.reglamentos-overview .card-title {
font-size: 1rem;
margin-bottom: 8px;
}
.reglamentos-overview .card-text {
font-size: .8rem;
line-height: 1.5;
margin-bottom: 0;
}
.ccpch-regulations-rules { padding: 80px 0; }
.reg-section-label {
margin: 0 0 12px;
color: var(--rojo);
font-size: .75rem;
font-weight: 700;
letter-spacing: .15em;
text-transform: uppercase;
}
.reglamentos-layout {
display: grid;
grid-template-columns: 240px 1fr;
gap: 64px;
margin-top: 48px;
}
.reg-sidebar {
position: sticky;
top: calc(var(--nav-height) + 30px);
height: fit-content;
}
.reg-sidebar-title {
margin-bottom: 16px;
color: var(--texto-suave);
font-size: .72rem;
font-weight: 700;
letter-spacing: .15em;
text-transform: uppercase;
}
.reg-sidebar a {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 4px;
padding: 10px 16px;
border-radius: 6px;
color: var(--texto-suave);
font-size: .88rem;
transition: color .2s var(--ease), background .2s var(--ease);
}
.reg-sidebar a .icon {
flex-shrink: 0;
font-size: 1.1rem;
}
.reg-sidebar a:hover,
.reg-sidebar a.active-reg {
background: rgba(184, 35, 47, .06);
color: var(--rojo);
font-weight: 500;
}
.reg-block {
margin-bottom: 40px;
padding-bottom: 40px;
border-bottom: 1px solid #e0dbd0;
scroll-margin-top: calc(var(--nav-height) + 24px);
}
.reg-block:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: 0;
}
.reg-block-header {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 24px;
}
.reg-block-icon {
font-size: 1.8rem;
line-height: 1;
}
.reg-block-header h3 {
margin: 0;
font-size: 1.3rem;
color: var(--navy);
}
.rule-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.rule-item {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 16px 20px;
border-radius: 6px;
background: #fff;
color: var(--texto);
font-size: .9rem;
line-height: 1.6;
}
.rule-item.highlight {
border-left: 3px solid var(--dorado);
background: #fffdf5;
}
.rule-item.warning {
border-left: 3px solid var(--rojo);
background: #fff5f5;
}
.rule-bullet {
width: 8px;
height: 8px;
flex: 0 0 8px;
margin-top: .58em;
border-radius: 50%;
background: var(--rojo);
}
.reg-sanciones-section {
padding: 80px 0;
background: var(--navy);
}
.reg-sanciones-section .reg-section-label { color: var(--dorado); }
.reg-sanciones-section .section-title { color: #fff; }
.sanciones-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
margin-top: 48px;
}
.sancion-card {
padding: 32px;
border-top: 3px solid transparent;
border-radius: 8px;
background: rgba(255, 255, 255, .05);
}
.sancion-card.leve { border-top-color: #52b788; }
.sancion-card.grave { border-top-color: var(--dorado); }
.sancion-card.muy-grave { border-top-color: var(--rojo); }
.sancion-label {
display: block;
margin-bottom: 12px;
font-size: .7rem;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
}
.sancion-card.leve .sancion-label { color: #52b788; }
.sancion-card.grave .sancion-label { color: var(--dorado-light); }
.sancion-card.muy-grave .sancion-label { color: #ff8585; }
.sancion-card h3 {
margin-bottom: 14px;
font-size: 1.2rem;
color: #fff;
}
.sancion-list {
display: flex;
flex-direction: column;
gap: 8px;
list-style: none;
margin: 0;
padding: 0;
}
.sancion-list li {
display: flex;
gap: 8px;
color: rgba(255, 255, 255, .62);
font-size: .85rem;
line-height: 1.5;
}
.sancion-list li::before {
content: '•';
flex-shrink: 0;
}
.reglamentos-cta .cta-banner-photo {
background-color: var(--navy);
background-image: none !important;
}
.reglamentos-cta .cta-banner-photo::before { display: none; }
.reglamentos-cta .cta-banner-inner { padding-block: 64px; }
.reglamentos-cta .cta-banner-title { font-size: clamp(1.8rem, 3vw, 2rem); } .servicios-intro {
padding: 80px 0;
}
.servicios-intro .intro-grid {
gap: 80px;
}
.servicios-intro .intro-photo {
z-index: 1;
}
.servicios-intro .intro-photo::after {
content: '';
position: absolute;
right: -20px;
bottom: -20px;
z-index: -1;
width: 160px;
height: 160px;
border: 3px solid var(--dorado);
border-radius: 4px;
}
.servicios-intro .intro-photo img {
height: 480px;
aspect-ratio: auto;
}
.servicios-intro .section-lead {
max-width: none;
}
.servicios-intro .stat-row {
gap: 32px;
margin-top: 32px;
padding-top: 32px;
border-top: 1px solid #e8e4dc;
}
.servicios-intro .stat {
text-align: center;
}
.servicios-intro .stat-num {
font-size: 2.2rem;
}
.servicios-intro .stat-label {
max-width: 130px;
}
.servicios-catalogo {
padding: 80px 0;
}
.servicios-catalogo .section-header {
display: block;
width: 100%;
max-width: none;
text-align: center;
margin-bottom: 56px;
align-items: center;
}
.servicios-catalogo .section-header .section-tag {
justify-content: center;
}
.servicios-catalogo .section-header .section-lead {
margin-inline: auto;
}
.servicios-catalogo .section-header .section-title,
.servicios-pricing .section-header .section-title,
.servicios-process .section-header .section-title {
margin-inline: auto;
}
.servicios-catalogo .cards-grid {
gap: 32px;
}
.servicios-catalogo .card {
border: 0;
border-radius: 10px;
box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
}
.servicios-catalogo .card:hover {
box-shadow: 0 16px 48px rgba(0, 0, 0, .12);
transform: translateY(-6px);
}
.servicios-catalogo .card-media {
height: 220px;
aspect-ratio: auto;
}
.servicios-catalogo .card-body {
padding: 28px;
}
.servicios-catalogo .card-icon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 18px;
border-radius: 10px;
background: linear-gradient(135deg, var(--rojo), var(--rojo-dark));
font-size: 1.3rem;
}
.servicios-catalogo .card-title {
font-size: 1.3rem;
}
.servicios-catalogo .card-text {
flex: 1;
font-size: .9rem;
}
.servicios-catalogo .card-arrow {
margin-top: 20px;
font-size: .85rem;
letter-spacing: 0;
text-transform: none;
}
.servicios-highlights {
padding: 80px 0;
}
.servicios-highlights .section-title {
color: #fff;
text-align: center;
}
.servicios-highlights .section-title::before {
content: 'En números';
display: block;
margin-bottom: 12px;
color: var(--dorado);
font-family: var(--font-sans);
font-size: .75rem;
font-weight: 700;
letter-spacing: .15em;
text-transform: uppercase;
}
.servicios-highlights .stat-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
margin-top: 48px;
}
.servicios-highlights .stat {
align-items: center;
padding: 32px 16px;
border: 1px solid rgba(201, 151, 58, .2);
border-radius: 8px;
text-align: center;
transition: background .3s var(--ease), border-color .3s var(--ease);
}
.servicios-highlights .stat:hover {
background: rgba(201, 151, 58, .08);
border-color: rgba(201, 151, 58, .4);
}
.servicios-highlights .stat-num {
color: var(--dorado);
font-size: 3rem;
}
.servicios-highlights .stat-label {
color: rgba(255, 255, 255, .65);
}
.servicios-pricing {
padding: 80px 0;
}
.servicios-pricing .section-header {
display: block;
width: 100%;
max-width: none;
text-align: center;
margin-bottom: 56px;
align-items: center;
}
.servicios-pricing .section-header .section-tag {
justify-content: center;
}
.servicios-pricing .section-header .section-lead {
margin-inline: auto;
}
.plan-category {
margin: 0 0 12px;
color: var(--rojo);
font-size: .72rem;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
}
.plan-featured .plan-category {
color: var(--dorado);
}
.servicios-pricing .plan {
border-width: 2px;
border-color: #e8e4dc;
border-radius: 10px;
padding: 40px;
box-shadow: none;
}
.servicios-pricing .plan:hover {
border-color: var(--dorado);
box-shadow: 0 12px 40px rgba(201, 151, 58, .12);
}
.servicios-pricing .plan-featured {
background: var(--navy);
border-color: var(--dorado);
}
.servicios-pricing .plan-badge {
top: -2px;
right: 32px;
left: auto;
transform: none;
border-radius: 0 0 6px 6px;
background: var(--dorado);
color: var(--navy);
}
.servicios-pricing .plan-name {
font-size: 1.6rem;
}
.servicios-pricing .plan-featured .plan-name {
color: #fff;
}
.servicios-pricing .plan-desc {
padding-bottom: 24px;
border-bottom: 1px solid #e8e4dc;
}
.servicios-pricing .plan-featured .plan-desc {
border-bottom-color: rgba(255, 255, 255, .1);
color: rgba(255, 255, 255, .62);
}
.servicios-pricing .plan-featured .plan-benefits li {
color: rgba(255, 255, 255, .72);
}
.servicios-pricing .plan .btn {
width: 100%;
}
.servicios-pricing .plan .btn-red-outline,
.servicios-pricing .plan-featured .btn-primary {
background: var(--dorado);
color: var(--navy);
border-color: var(--dorado);
}
.servicios-pricing .plan .btn-red-outline:hover,
.servicios-pricing .plan-featured .btn-primary:hover {
background: var(--dorado-light);
color: var(--navy);
}
.servicios-process {
padding: 80px 0;
}
.servicios-process .section-header {
display: block;
width: 100%;
max-width: none;
text-align: center;
margin-bottom: 56px;
align-items: center;
}
.servicios-process .section-header .section-tag {
justify-content: center;
}
.servicios-process .section-header .section-lead {
margin-inline: auto;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-list {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 32px;
align-items: stretch;
margin-top: 56px;
padding: 0;
position: relative;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-list::before {
display: block;
content: '';
position: absolute;
top: 32px;
left: calc(12.5% + 16px);
right: calc(12.5% + 16px);
height: 2px;
background: linear-gradient(to right, var(--dorado), var(--rojo));
z-index: 0;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 0;
padding: 0;
text-align: center;
position: relative;
z-index: 1;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-body {
display: flex;
flex-direction: column;
align-items: center;
flex: 1;
width: 100%;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-dot-col {
order: -1;
display: flex;
justify-content: center;
width: 100%;
margin-bottom: 20px;
padding-top: 0;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-marker {
flex: 0 0 64px;
width: 64px;
height: 64px;
border: 2px solid var(--dorado);
background: #fff;
color: var(--navy);
box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-title {
font-size: 1.05rem;
min-height: 2.6em;
margin-bottom: 8px;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-text {
max-width: 240px;
margin-inline: auto;
font-size: .85rem;
line-height: 1.6;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-text p {
margin: 0;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-empty {
display: none;
}
.servicios-cta .cta-banner-photo {
background-color: var(--navy);
background-image: none !important;
}
.servicios-cta .cta-banner-photo::before {
display: none;
}
.servicios-cta .cta-banner-inner {
padding-block: 80px;
}
.servicios-cta .btn-ghost {
margin-left: 16px;
} .membresia-benefits {
padding: 80px 0;
}
.membresia-benefits .cards-grid {
gap: 24px;
margin-top: 48px;
}
.membresia-benefits .card {
border: 0;
border-bottom: 3px solid var(--dorado);
border-radius: 8px;
text-align: center;
box-shadow: 0 2px 16px rgba(0, 0, 0, .05);
}
.membresia-benefits .card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}
.membresia-benefits .card-body {
align-items: center;
padding: 32px 24px;
}
.membresia-benefits .card-icon {
font-size: 2.2rem;
margin-bottom: 12px;
}
.membresia-benefits .card-title {
font-size: 1rem;
margin-bottom: 8px;
}
.membresia-benefits .card-text {
font-size: .83rem;
line-height: 1.6;
margin-bottom: 0;
}
.membresia-planes {
padding: 80px 0;
}
.membresia-planes .section-header {
display: block;
width: 100%;
max-width: none;
}
.membresia-planes .pricing-grid {
gap: 32px;
margin-top: 48px;
align-items: start;
}
.membresia-planes .plan {
padding: 40px;
border: 1px solid rgba(255, 255, 255, .1);
border-radius: 12px;
background: rgba(255, 255, 255, .05);
box-shadow: none;
}
.membresia-planes .plan:hover {
background: rgba(255, 255, 255, .08);
box-shadow: none;
transform: translateY(-4px);
}
.membresia-planes .plan-featured {
background: #fff;
border-color: var(--dorado);
transform: scale(1.03);
}
.membresia-planes .plan-featured:hover {
background: #fff;
transform: scale(1.05);
}
.membresia-planes .plan-badge {
top: -14px;
left: 50%;
transform: translateX(-50%);
padding: 6px 20px;
border-radius: 20px;
background: var(--dorado);
color: var(--navy);
}
.membresia-planes .plan-category {
margin-bottom: 16px;
color: inherit;
font-size: 2.5rem;
line-height: 1;
letter-spacing: 0;
text-transform: none;
}
.membresia-planes .plan-name {
font-size: 1.5rem;
margin-bottom: 6px;
}
.membresia-planes .plan:not(.plan-featured) .plan-name {
color: #fff;
}
.membresia-planes .plan-featured .plan-name {
color: var(--navy);
}
.membresia-planes .plan-price {
margin: 12px 0;
}
.membresia-planes .plan:not(.plan-featured) .plan-price-value {
color: var(--dorado-light);
}
.membresia-planes .plan-featured .plan-price-value {
color: var(--rojo);
}
.membresia-planes .plan:not(.plan-featured) .plan-price-period,
.membresia-planes .plan:not(.plan-featured) .plan-desc {
color: rgba(255, 255, 255, .62);
}
.membresia-planes .plan-featured .plan-desc {
color: var(--texto-suave);
}
.membresia-planes .plan-benefits {
margin-bottom: 32px;
}
.membresia-planes .plan-benefits li {
font-size: .85rem;
}
.membresia-planes .plan:not(.plan-featured) .plan-benefits li {
border-bottom-color: rgba(255, 255, 255, .07);
color: rgba(255, 255, 255, .72);
}
.membresia-planes .plan:not(.plan-featured) .plan-benefits li::before {
color: var(--dorado-light);
}
.membresia-planes .plan-featured .plan-benefits li::before {
color: var(--rojo);
}
.membresia-planes .plan .btn {
width: 100%;
}
.membresia-planes .plan:not(.plan-featured) .btn-red-outline {
color: #fff;
border-color: rgba(255, 255, 255, .3);
}
.membresia-planes .plan:not(.plan-featured) .btn-red-outline:hover {
color: var(--dorado-light);
border-color: var(--dorado);
background: transparent;
}
.membresia-planes .plan-featured .btn-primary {
background: var(--rojo);
color: #fff;
border-color: var(--rojo);
}
.membresia-planes .plan-featured .btn-primary:hover {
background: var(--rojo-dark);
color: #fff;
}
.membresia-proceso {
padding: 80px 0;
}
.membresia-proceso .section-header {
display: block;
width: 100%;
max-width: 620px;
}
.membresia-proceso .timeline-list {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 24px;
margin-top: 48px;
padding: 0;
position: relative;
}
.membresia-proceso .timeline-list::before {
display: block;
content: '';
position: absolute;
top: 28px;
left: 10%;
right: 10%;
z-index: 0;
height: 2px;
background: linear-gradient(90deg, var(--rojo), var(--dorado));
}
.membresia-proceso .timeline-item {
display: flex;
flex-direction: column;
gap: 0;
align-items: center;
padding: 0;
text-align: center;
position: relative;
z-index: 1;
}
.membresia-proceso .timeline-dot-col {
order: -1;
display: flex;
justify-content: center;
width: 100%;
margin-bottom: 16px;
padding: 0;
}
.membresia-proceso .timeline-marker {
flex: 0 0 56px;
width: 56px;
height: 56px;
border: 0;
background: var(--rojo);
color: #fff;
font-size: 1.28rem;
box-shadow: 0 4px 16px rgba(184, 35, 47, .3);
}
.membresia-proceso .timeline-body {
display: flex;
flex-direction: column;
align-items: center;
}
.membresia-proceso .timeline-year {
margin-bottom: 8px;
color: inherit;
font-family: var(--font-sans);
font-size: 1.6rem;
line-height: 1;
}
.membresia-proceso .timeline-title {
margin-bottom: 6px;
font-family: var(--font-sans);
font-size: .88rem;
font-weight: 700;
}
.membresia-proceso .timeline-text {
max-width: 190px;
font-size: .78rem;
line-height: 1.5;
}
.membresia-proceso .timeline-text p {
margin: 0;
}
.membresia-proceso .timeline-empty {
display: none;
}
.membresia-faq {
padding: 80px 0;
}
.membresia-faq .cards-grid {
gap: 24px;
margin-top: 48px;
}
.membresia-faq .card {
border: 0;
border-radius: 8px;
box-shadow: 0 2px 16px rgba(0, 0, 0, .05);
}
.membresia-faq .card:hover {
transform: none;
box-shadow: 0 2px 16px rgba(0, 0, 0, .05);
}
.membresia-faq .card-body {
display: grid;
grid-template-columns: 24px 1fr;
column-gap: 10px;
align-items: start;
padding: 28px;
}
.membresia-faq .card-icon {
width: 24px;
height: 24px;
display: inline-flex;
flex: 0 0 24px;
align-items: center;
justify-content: center;
margin: 1px 0 0;
border-radius: 50%;
background: var(--rojo);
color: #fff;
font-family: var(--font-sans);
font-size: .74rem;
font-weight: 700;
line-height: 1;
}
.membresia-faq .card-title {
grid-column: 2;
font-family: var(--font-sans);
font-size: .95rem;
font-weight: 700;
margin-bottom: 12px;
}
.membresia-faq .card-text {
grid-column: 1 / -1;
font-size: .88rem;
line-height: 1.7;
}
.membresia-cta .cta-banner-photo {
background-color: var(--navy);
background-image: none !important;
}
.membresia-cta .cta-banner-photo::before {
display: none;
}
.membresia-cta .cta-banner-inner {
padding-block: 80px;
}
.membresia-cta .btn-ghost {
margin-left: 16px;
} .magazine-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 26px; }
.edicion { display: flex; flex-direction: column; }
.edicion-destacada { grid-column: span 2; flex-direction: row; gap: 26px; align-items: center; }
.edicion-destacada .edicion-cover { flex: 0 0 44%; }
.edicion-cover {
position: relative; display: block;
border-radius: var(--radius-sm); overflow: hidden;
box-shadow: var(--shadow-md);
background: var(--navy-mid);
transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.edicion-cover:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.edicion-cover img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.edicion-num {
position: absolute; top: 12px; left: 12px;
padding: 5px 12px; border-radius: 4px;
background: var(--rojo); color: #fff;
font-size: .68rem; font-weight: 700; letter-spacing: .08em;
}
.edicion-body { padding-top: 16px; }
.edicion-fecha { font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--dorado); }
.edicion-titulo { font-size: 1.02rem; margin: 8px 0 8px; }
.edicion-destacada .edicion-titulo { font-size: 1.5rem; }
.edicion-resumen { font-size: .86rem; line-height: 1.7; color: var(--texto-suave); margin-bottom: 14px; }
.edicion-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.edicion-pdf { font-size: .78rem; font-weight: 600; color: var(--texto-suave); }
.edicion-pdf:hover { color: var(--rojo); } .edicion-descarga {
position: absolute; left: 0; right: 0; bottom: 0;
padding: 10px 12px;
background: linear-gradient(to top, rgba(15, 18, 28, .92), rgba(15, 18, 28, 0));
color: #fff; text-align: center;
font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
opacity: 0; transform: translateY(6px);
transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.edicion-cover:hover .edicion-descarga,
.edicion-cover:focus-visible .edicion-descarga { opacity: 1; transform: none; }
.edicion-cover-static { cursor: default; }
.edicion-cover-static:hover { transform: none; box-shadow: var(--shadow-md); }
.edicion-pendiente { font-size: .74rem; font-weight: 600; color: var(--texto-suave); font-style: italic; }
.ccpch-ediciones-listado { padding: 80px 0; }
.ediciones-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 32px 26px; }
.ediciones-vacio {
padding: 56px 24px; text-align: center;
border: 1px dashed var(--gris-borde); border-radius: var(--radius);
background: var(--gris); color: var(--texto-suave);
}
.ediciones-vacio p { margin: 0; } .revista-intro {
background: var(--gris);
}
.revista-intro-inner,
.revista-destacado-inner,
.revista-suscripcion-inner {
display: grid;
grid-template-columns: 1.05fr 1fr;
align-items: start;
gap: 80px;
}
.revista-cover {
position: relative;
aspect-ratio: 3 / 4;
overflow: hidden;
border-radius: 10px;
background: var(--navy);
box-shadow: 0 28px 60px rgba(0, 0, 0, .25);
}
.revista-cover-photo,
.revista-cover-overlay,
.revista-cover-content {
position: absolute;
inset: 0;
}
.revista-cover-photo {
background-size: cover;
background-position: center;
opacity: .52;
}
.revista-cover-overlay {
background: linear-gradient(to bottom, rgba(26, 31, 46, .28), rgba(26, 31, 46, .86));
}
.revista-cover-content {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 28px;
}
.revista-cover-top,
.revista-cover-bottom-bar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
}
.revista-cover-logo {
color: var(--dorado);
font-family: var(--font-serif);
font-size: .76rem;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
}
.revista-cover-num,
.revista-cover-date {
color: rgba(255, 255, 255, .52);
font-size: .66rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
}
.revista-cover-cat {
margin-bottom: 8px;
color: var(--dorado);
font-size: .64rem;
font-weight: 800;
letter-spacing: .15em;
text-transform: uppercase;
}
.revista-cover-title {
margin-bottom: 12px;
color: #fff;
font-size: clamp(1.45rem, 3vw, 1.8rem);
}
.revista-cover-sep {
width: 40px;
height: 2px;
margin-bottom: 12px;
background: var(--dorado);
}
.revista-cover-teaser {
max-width: 340px;
color: rgba(255, 255, 255, .66);
font-size: .8rem;
line-height: 1.55;
}
.revista-cover-bottom-bar {
margin-top: 18px;
}
.revista-cover-price {
padding: 5px 10px;
border-radius: 4px;
background: var(--rojo);
color: #fff;
font-size: .66rem;
font-weight: 800;
}
.revista-mini-label,
.revista-list-label {
margin: 20px 0 10px;
color: var(--texto-suave);
font-size: .7rem;
font-weight: 800;
letter-spacing: .12em;
text-transform: uppercase;
}
.revista-past {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
margin-top: 10px;
}
.past-cover {
position: relative;
display: block;
aspect-ratio: 3 / 4;
overflow: hidden;
border-radius: 6px;
background: var(--navy);
cursor: pointer;
}
.past-cover img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .4s var(--ease);
}
.past-cover::after {
content: "";
position: absolute;
inset: 0;
background: rgba(26, 31, 46, .52);
opacity: 0;
transition: opacity .25s var(--ease);
}
.past-cover span {
position: absolute;
inset: 0;
z-index: 1;
display: grid;
place-items: center;
color: #fff;
font-size: .66rem;
font-weight: 800;
letter-spacing: .1em;
text-transform: uppercase;
opacity: 0;
transition: opacity .25s var(--ease);
}
.past-cover:hover img {
transform: scale(1.07);
}
.past-cover:hover::after,
.past-cover:hover span {
opacity: 1;
}
.revista-intro-text .section-lead + .section-lead,
.revista-destacado-text .section-lead + .section-lead,
.revista-suscripcion-text .section-lead + .section-lead {
margin-top: 14px;
}
.contenidos-list {
display: flex;
flex-direction: column;
gap: 10px;
margin: 0;
padding: 0;
list-style: none;
}
.contenidos-list li {
display: flex;
gap: 12px;
color: var(--texto-suave);
font-size: .9rem;
line-height: 1.55;
}
.contenidos-list li::before {
content: "◆";
flex: 0 0 auto;
margin-top: 3px;
color: var(--dorado);
font-size: .62rem;
}
.revista-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 32px;
}
.revista-destacado {
overflow: hidden;
background: var(--navy);
}
.revista-destacado .section-tag span,
.revista-destacado .section-title {
color: #fff;
}
.revista-destacado .section-tag::before {
background: var(--dorado);
}
.revista-destacado .section-lead {
color: rgba(255, 255, 255, .66);
}
.article-list {
display: flex;
flex-direction: column;
gap: 1px;
margin-top: 28px;
}
.article-item {
display: flex;
align-items: center;
gap: 16px;
padding: 14px 0;
border-bottom: 1px solid rgba(255, 255, 255, .07);
transition: padding-left .2s var(--ease);
}
.article-item:hover {
padding-left: 6px;
}
.article-num {
flex: 0 0 38px;
color: rgba(201, 151, 58, .45);
font-family: var(--font-serif);
font-size: 1.25rem;
font-weight: 700;
}
.article-item span:last-child {
color: #fff;
font-size: .9rem;
font-weight: 700;
line-height: 1.45;
}
.article-item strong {
display: block;
margin-bottom: 3px;
color: var(--dorado);
font-size: .64rem;
font-family: var(--font-sans);
font-weight: 800;
letter-spacing: .12em;
text-transform: uppercase;
}
.revista-destacado-photo {
overflow: hidden;
border-radius: 8px;
box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}
.revista-destacado-photo img {
width: 100%;
max-height: 440px;
object-fit: cover;
}
.revista-ediciones {
background: var(--gris);
}
.revista-ediciones .section-lead {
max-width: 560px;
}
.revista-ediciones-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 20px;
margin-top: 48px;
}
.revista-edicion-card {
overflow: hidden;
border-radius: 10px;
background: #fff;
box-shadow: 0 4px 16px rgba(0, 0, 0, .07);
transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.revista-edicion-card:hover {
transform: translateY(-3px);
box-shadow: 0 12px 32px rgba(0, 0, 0, .12);
}
.revista-edicion-photo {
position: relative;
height: 180px;
overflow: hidden;
}
.revista-edicion-photo::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(26, 31, 46, .64), transparent 60%);
}
.revista-edicion-photo img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .4s var(--ease);
}
.revista-edicion-card:hover img {
transform: scale(1.06);
}
.revista-edicion-photo span {
position: absolute;
left: 14px;
bottom: 12px;
z-index: 1;
color: var(--dorado);
font-size: .66rem;
font-weight: 800;
letter-spacing: .1em;
text-transform: uppercase;
}
.revista-edicion-body {
padding: 18px 20px;
}
.revista-edicion-body h3 {
margin-bottom: 8px;
font-size: 1rem;
line-height: 1.32;
}
.revista-edicion-body p {
color: var(--texto-suave);
font-size: .74rem;
}
.revista-ediciones-more {
margin-top: 40px;
text-align: center;
}
.revista-suscripcion {
background: #fff;
}
.revista-suscripcion-inner {
align-items: center;
}
.revista-suscripcion-visual {
position: relative;
}
.revista-suscripcion-photo {
overflow: hidden;
border-radius: 8px;
box-shadow: 0 20px 50px rgba(0, 0, 0, .12);
}
.revista-suscripcion-photo img {
width: 100%;
max-height: 420px;
object-fit: cover;
}
.revista-suscripcion-badge {
position: absolute;
top: -16px;
right: -16px;
padding: 16px 20px;
border-radius: 8px;
background: var(--dorado);
color: var(--navy);
text-align: center;
box-shadow: 0 8px 24px rgba(201, 151, 58, .35);
}
.revista-suscripcion-badge strong {
display: block;
font-family: var(--font-serif);
font-size: 1.4rem;
line-height: 1;
}
.revista-suscripcion-badge span {
display: block;
margin-top: 2px;
font-size: .66rem;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
}
.revista-form-hard {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 28px;
}
.revista-form-hard input {
flex: 1 1 220px;
min-height: 52px;
padding: 13px 16px;
border: 1.5px solid rgba(0, 0, 0, .12);
border-radius: 8px;
color: var(--texto);
font: inherit;
font-size: .9rem;
}
.revista-form-hard input:focus {
outline: none;
border-color: var(--dorado);
box-shadow: 0 0 0 3px rgba(201, 151, 58, .08);
}
.revista-form-note {
margin-top: 10px;
color: var(--texto-suave);
font-size: .76rem;
}
.revista-stats {
display: flex;
flex-wrap: wrap;
gap: 24px;
margin-top: 28px;
}
.revista-stats div {
min-width: 92px;
text-align: center;
}
.revista-stats strong {
display: block;
color: var(--navy);
font-family: var(--font-serif);
font-size: 1.6rem;
line-height: 1;
}
.revista-stats span {
display: block;
margin-top: 6px;
color: var(--texto-suave);
font-size: .7rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
} .downloads-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.download-link {
display: flex; align-items: center; gap: 18px;
padding: 16px 20px;
background: #fff;
border: 1px solid var(--gris-borde);
border-radius: var(--radius-sm);
color: inherit;
transition: border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
}
.download-link:hover { border-color: var(--rojo); transform: translateX(4px); box-shadow: var(--shadow-sm); color: inherit; }
.download-ext {
flex-shrink: 0;
min-width: 54px; padding: 9px 0;
background: var(--rojo-soft); color: var(--rojo);
border-radius: var(--radius-sm);
font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-align: center;
}
.download-info { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.download-title { font-family: var(--font-serif); font-weight: 700; font-size: .98rem; color: var(--navy); }
.download-desc { font-size: .82rem; color: var(--texto-suave); }
.download-size { flex-shrink: 0; font-size: .76rem; color: var(--texto-suave); } .map-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: start; }
.map-layout-full { display: block; }
.map-frame {
border-radius: var(--radius); overflow: hidden;
box-shadow: var(--shadow-md);
background: var(--gris);
min-height: 380px;
}
.map-frame iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
.map-side { display: flex; flex-direction: column; gap: 24px; }
.map-address {
background: var(--navy); color: rgba(255, 255, 255, .75);
border-radius: var(--radius); padding: 26px 24px;
}
.map-address h3 { color: var(--dorado); font-size: 1rem; margin-bottom: 10px; }
.map-address p { font-size: .92rem; line-height: 1.75; margin-bottom: 18px; }
.map-address .btn-red-outline { color: var(--dorado); border-color: rgba(201, 151, 58, .45); }
.map-address .btn-red-outline:hover { background: rgba(201, 151, 58, .12); color: var(--dorado-light); }
.map-data { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.map-data li { display: flex; gap: 14px; font-size: .88rem; line-height: 1.65; color: var(--texto-suave); }
.map-data-icon { font-size: 1.15rem; flex-shrink: 0; }
.map-data strong { display: block; color: var(--navy); font-family: var(--font-serif); font-size: .95rem; }
.map-routes { margin-top: 56px; }
.map-routes-title { font-size: 1.3rem; margin-bottom: 24px; }
.map-routes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.map-route {
background: var(--gris); border-radius: var(--radius); padding: 24px 22px;
border-top: 3px solid var(--dorado);
}
.bg-gris .map-route { background: #fff; }
.map-route-icon { font-size: 1.5rem; display: block; margin-bottom: 10px; }
.map-route h4 { font-size: 1rem; margin-bottom: 8px; }
.map-route p { font-size: .86rem; line-height: 1.7; color: var(--texto-suave); margin: 0; } .ccpch-contact {
padding: 72px 0 44px;
}
.entry-content .ccpch-contact.alignwide {
width: 100vw;
max-width: 100vw;
margin-inline: calc(50% - 50vw);
}
.ccpch-contact > .container {
max-width: var(--container);
}
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 64px; align-items: start; }
.contact-form-box {
background: #fff;
border: 1px solid #ede8e0;
border-radius: 12px;
padding: 48px;
box-shadow: 0 8px 40px rgba(0, 0, 0, .08);
}
.contact-form-box h2 {
color: var(--navy);
font-size: 1.85rem;
margin-bottom: 8px;
}
.contact-form-sub {
margin-bottom: 32px;
color: var(--texto-suave);
font-size: .92rem;
}
.contact-form-hard .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.contact-form-hard .form-group {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 20px;
}
.contact-form-hard .form-group span {
color: var(--navy);
font-size: .8rem;
font-weight: 700;
letter-spacing: .05em;
}
.contact-form-hard input,
.contact-form-hard select,
.contact-form-hard textarea {
width: 100%;
padding: 13px 17px;
border: 1.5px solid #ddd;
border-radius: 7px;
background: #fff;
color: var(--texto);
font: inherit;
font-size: .92rem;
transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.contact-form-hard input:focus,
.contact-form-hard select:focus,
.contact-form-hard textarea:focus {
outline: none;
border-color: var(--dorado);
box-shadow: 0 0 0 3px rgba(201, 151, 58, .08);
}
.contact-form-hard textarea {
min-height: 132px;
resize: vertical;
}
.contact-hard-check {
display: grid;
grid-template-columns: 16px minmax(0, 1fr);
gap: 10px;
align-items: start;
margin: 2px 0 28px;
max-width: 100%;
}
.contact-hard-check input {
width: 16px;
height: 16px;
margin: 3px 0 0;
padding: 0;
accent-color: var(--rojo);
justify-self: start;
}
.contact-hard-check span {
color: var(--texto-suave);
font-size: .84rem;
line-height: 1.55;
}
.btn-submit {
width: 100%;
min-height: 54px;
padding: 15px 24px;
border: 0;
border-radius: 7px;
background: var(--rojo);
color: #fff;
font-size: .88rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
cursor: pointer;
transition: background .25s var(--ease), transform .2s var(--ease);
}
.btn-submit:hover {
background: var(--rojo-dark);
transform: translateY(-2px);
} .ccpch-spinner {
display: inline-block;
width: 14px;
height: 14px;
border: 2px solid rgba(255, 255, 255, .35);
border-radius: 50%;
border-top-color: #fff;
animation: ccpch-spin .7s linear infinite;
vertical-align: middle;
margin-right: 6px;
}
@keyframes ccpch-spin {
to { transform: rotate(360deg); }
}
.info-panel {
display: flex;
flex-direction: column;
gap: 24px;
}
.info-box {
padding: 32px;
border-radius: 10px;
background: var(--navy);
color: #fff;
}
.info-box h3 {
color: #fff;
font-size: 1.14rem;
margin-bottom: 20px;
padding-bottom: 14px;
border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.info-item {
display: flex;
gap: 16px;
align-items: flex-start;
margin-bottom: 20px;
}
.info-item:last-child {
margin-bottom: 0;
}
.info-item-icon {
width: 36px;
height: 36px;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 36px;
border-radius: 8px;
background: rgba(201, 151, 58, .2);
font-size: 1rem;
}
.info-item-text span {
display: block;
margin-bottom: 4px;
color: var(--dorado);
font-size: .76rem;
font-weight: 700;
letter-spacing: .08em;
line-height: 1.35;
text-transform: uppercase;
}
.info-item-text p,
.info-item-text a {
display: block;
color: rgba(255, 255, 255, .74);
font-size: .88rem;
line-height: 1.55;
}
.info-item-text a:hover {
color: var(--dorado-light);
}
.hours-table {
width: 100%;
margin: 0;
border-collapse: collapse;
}
.hours-table td {
padding: 7px 0;
border: 0;
background: transparent;
color: rgba(255, 255, 255, .72);
font-size: .86rem;
}
.hours-table td:last-child {
color: rgba(255, 255, 255, .92);
font-weight: 600;
text-align: right;
}
.hours-table .today-row td {
color: var(--dorado);
}
.hours-note {
margin-top: 18px;
color: rgba(255, 255, 255, .46);
font-size: .78rem;
line-height: 1.6;
}
.contact-form-wrap {
background: #fff; border-radius: var(--radius);
padding: 34px 32px; box-shadow: var(--shadow-sm);
border: 1px solid var(--gris-borde);
}
.contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-field { display: block; margin-bottom: 18px; }
.form-field > span {
display: block; margin-bottom: 7px;
font-size: .78rem; font-weight: 600;
letter-spacing: .04em; color: var(--navy);
}
.form-field em { color: var(--rojo); font-style: normal; }
.form-field input, .form-field select, .form-field textarea {
width: 100%;
padding: 12px 14px;
font-family: inherit; font-size: .93rem; color: var(--texto);
background: var(--gris);
border: 1px solid var(--gris-borde);
border-radius: var(--radius-sm);
transition: border-color .2s var(--ease), background .2s var(--ease);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
outline: none; background: #fff;
border-color: var(--rojo);
}
.form-field textarea { resize: vertical; min-height: 130px; }
.form-check { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 22px; font-size: .84rem; color: var(--texto-suave); }
.form-check input { margin-top: 4px; flex-shrink: 0; }
.form-hp { position: absolute; left: -9999px; }
.contact-side { display: flex; flex-direction: column; gap: 26px; }
.contact-channels { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.contact-channel {
display: flex; gap: 16px; align-items: flex-start;
background: #fff; border: 1px solid var(--gris-borde);
border-radius: var(--radius); padding: 18px 20px;
}
.contact-channel-icon { font-size: 1.35rem; flex-shrink: 0; }
.contact-channel strong { display: block; font-family: var(--font-serif); font-size: .98rem; color: var(--navy); margin-bottom: 3px; }
.contact-channel a, .contact-channel span { font-size: .88rem; color: var(--texto-suave); }
.contact-channel a:hover { color: var(--rojo); }
.contact-hours { background: var(--navy); color: rgba(255, 255, 255, .72); border-radius: var(--radius); padding: 24px 22px; }
.contact-hours h3 { color: var(--dorado); font-size: 1rem; margin-bottom: 14px; }
.contact-hours ul { list-style: none; margin: 0; padding: 0; }
.contact-hours li {
display: flex; justify-content: space-between; gap: 12px;
padding: 8px 0; font-size: .87rem;
border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.contact-hours li:last-child { border-bottom: none; }
.contact-hours strong { color: #fff; }
.ccpch-map .map-layout-full .map-frame {
max-width: var(--container);
min-height: 420px;
margin-inline: auto;
border-radius: 12px;
}
.ccpch-map .map-layout-full .map-frame iframe {
min-height: 420px;
}
.ccpch-contact + .ccpch-map {
padding-top: 24px;
}
.ccpch-map:has(.map-layout-full) {
padding-block: 24px 72px;
}
.contacto-faq .section-header {
margin-inline: auto;
text-align: center;
}
.contacto-faq > .container,
.contacto-faq > .container-narrow {
max-width: var(--container);
padding-inline: 5vw;
}
.contacto-faq .section-tag {
justify-content: center;
}
.contacto-faq .section-lead {
margin-inline: auto;
}
.contacto-faq .accordion-list {
width: 100%;
max-width: 100%;
gap: 14px;
}
.contacto-faq .accordion-item {
width: 100%;
border-radius: 8px;
}
.contacto-faq .accordion-head {
padding: 22px 26px;
font-family: var(--font-sans);
font-size: .98rem;
line-height: 1.4;
}
.contacto-faq .accordion-title {
display: flex;
align-items: flex-start;
justify-content: space-between;
width: 100%;
gap: 16px;
}
.contacto-faq .accordion-body {
padding: 0 26px 24px;
font-size: .9rem;
line-height: 1.75;
} .ubicacion-map {
padding: 0;
background: var(--gris);
}
.ubicacion-map > .container {
max-width: none;
padding-inline: 0;
}
.ubicacion-map .map-layout {
position: relative;
display: block;
}
.ubicacion-map .map-frame {
min-height: 500px;
border-radius: 0;
box-shadow: none;
}
.ubicacion-map .map-frame iframe {
min-height: 500px;
}
.ubicacion-map .map-side {
position: absolute;
top: 32px;
right: max(5vw, calc((100vw - var(--container)) / 2 + 5vw));
z-index: 2;
width: min(360px, calc(100vw - 40px));
gap: 0;
padding: 32px;
border-radius: 10px;
background: #fff;
box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
}
.ubicacion-map .map-address {
padding: 0 0 16px;
margin-bottom: 16px;
color: var(--texto-suave);
background: transparent;
border-radius: 0;
border-bottom: 2px solid var(--dorado);
}
.ubicacion-map .map-address h3 {
color: var(--navy);
font-size: 1.3rem;
margin-bottom: 12px;
}
.ubicacion-map .map-address h3::before {
content: "📍";
margin-right: 6px;
font-family: var(--font-sans);
}
.ubicacion-map .map-address p {
margin: 0;
font-size: .84rem;
line-height: 1.6;
}
.ubicacion-map .map-data {
gap: 0;
}
.ubicacion-map .map-data li {
gap: 12px;
padding: 0 0 16px;
margin-bottom: 16px;
border-bottom: 1px solid #e8e4dc;
font-size: .82rem;
line-height: 1.55;
}
.ubicacion-map .map-data-icon {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 32px;
width: 32px;
height: 32px;
margin-top: 1px;
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", var(--font-sans);
font-size: 1.55rem;
line-height: 1;
}
.ubicacion-map .map-data li:last-child {
padding-bottom: 0;
margin-bottom: 0;
border-bottom: 0;
}
.ubicacion-map .map-data li > span:last-child {
min-width: 0;
overflow-wrap: anywhere;
}
.ubicacion-map .map-data strong {
font-family: var(--font-sans);
font-size: .82rem;
font-weight: 700;
}
.ubicacion-rutas {
background: #fff;
}
.ubicacion-rutas .section-title,
.ubicacion-datos .section-title,
.ubicacion-contacto .section-title {
max-width: 760px;
}
.transport-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 32px;
margin-top: 48px;
}
.transport-card {
padding: 32px;
border-radius: 10px;
background: #fff;
border-top: 4px solid transparent;
box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.transport-card:hover {
transform: translateY(-4px);
box-shadow: 0 14px 34px rgba(0, 0, 0, .09);
}
.transport-card.car { border-top-color: var(--rojo); }
.transport-card.bus { border-top-color: var(--dorado); }
.transport-card.colectivo { border-top-color: var(--navy); }
.transport-icon {
display: block;
margin-bottom: 16px;
font-size: 2.2rem;
}
.transport-card h3 {
margin-bottom: 14px;
font-size: 1.2rem;
}
.transport-step {
display: flex;
gap: 12px;
margin-bottom: 12px;
color: var(--texto-suave);
font-size: .88rem;
line-height: 1.55;
}
.step-n {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 22px;
width: 22px;
height: 22px;
margin-top: 2px;
border-radius: 50%;
background: var(--rojo);
color: #fff;
font-size: .72rem;
font-weight: 800;
line-height: 1;
}
.transport-card.bus .step-n {
background: var(--dorado);
color: var(--navy);
}
.transport-card.colectivo .step-n {
background: var(--navy);
}
.time-badge {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 8px;
padding: 7px 14px;
border-radius: 999px;
background: var(--gris);
color: var(--texto-suave);
font-size: .78rem;
font-weight: 700;
}
.time-badge::before {
content: "⏱";
}
.ubicacion-datos {
background: var(--navy);
}
.ubicacion-datos .section-label {
color: var(--dorado);
}
.ubicacion-datos .section-title {
color: #fff;
}
.datos-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 32px;
margin-top: 48px;
}
.dato-card {
padding: 32px 26px;
border: 1px solid rgba(255, 255, 255, .08);
border-radius: 8px;
background: rgba(255, 255, 255, .05);
text-align: center;
transition: background .25s var(--ease), transform .25s var(--ease);
}
.dato-card:hover {
background: rgba(255, 255, 255, .08);
transform: translateY(-3px);
}
.dato-icon {
display: block;
margin-bottom: 16px;
font-size: 2rem;
color:#fff;
}
.dato-card h3 {
margin-bottom: 8px;
color: #fff;
font-family: var(--font-sans);
font-size: .9rem;
font-weight: 700;
}
.dato-card p {
color: rgba(255, 255, 255, .58);
font-size: .84rem;
line-height: 1.65;
}
.ubicacion-contacto {
background: #fff;
}
.ubicacion-contacto-grid {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
align-items: start;
gap: 80px;
margin-top: 48px;
}
.ubicacion-contacto-foto {
height: 400px;
overflow: hidden;
border-radius: 8px;
}
.ubicacion-contacto-foto img {
width: 100%;
height: 100%;
object-fit: cover;
}
.ubicacion-form-wrap h3 {
font-size: 1.6rem;
margin-bottom: 24px;
}
.ubicacion-form-hard {
display: flex;
flex-direction: column;
gap: 20px;
}
.ubicacion-form-hard .form-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.ubicacion-form-hard label {
display: flex;
flex-direction: column;
gap: 8px;
}
.ubicacion-form-hard span {
color: var(--texto-suave);
font-size: .8rem;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
}
.ubicacion-form-hard input,
.ubicacion-form-hard select,
.ubicacion-form-hard textarea {
width: 100%;
padding: 14px 16px;
border: 1.5px solid #e0dbd0;
border-radius: 6px;
background: #fff;
color: var(--texto);
font: inherit;
font-size: .9rem;
}
.ubicacion-form-hard input:focus,
.ubicacion-form-hard select:focus,
.ubicacion-form-hard textarea:focus {
outline: none;
border-color: var(--dorado);
box-shadow: 0 0 0 3px rgba(201, 151, 58, .08);
}
.ubicacion-form-hard textarea {
min-height: 120px;
resize: vertical;
}
.ubicacion-form-hard .btn {
width: 100%;
border: 0;
text-align: center;
}
.ubicacion-form-hard p {
margin-top: -4px;
color: var(--texto-suave);
font-size: .82rem;
line-height: 1.6;
} .ccpch-newsletter { padding: 64px 0; }
.newsletter-inner {
display: flex; align-items: center; justify-content: space-between;
gap: 40px; flex-wrap: wrap;
}
.newsletter-title { font-size: 1.6rem; color: #fff; margin-bottom: 8px; }
.bg-gris .newsletter-title, .bg-blanco .newsletter-title { color: var(--navy); }
.newsletter-text { font-size: .95rem; color: rgba(255, 255, 255, .65); margin: 0; max-width: 460px; }
.bg-gris .newsletter-text, .bg-blanco .newsletter-text { color: var(--texto-suave); }
.newsletter-form { display: flex; flex-direction: column; gap: 12px; flex: 1; min-width: 300px; max-width: 580px; }
.newsletter-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
.newsletter-fields input[name="email"],
.newsletter-fields button { grid-column: 1 / -1; }
.newsletter-input {
width: 100%;
padding: 12px 16px;
font-family: inherit; font-size: .92rem;
background: rgba(255, 255, 255, .08);
border: 1px solid rgba(255, 255, 255, .18);
border-radius: var(--radius-sm);
color: #fff;
box-sizing: border-box;
}
.newsletter-input::placeholder { color: rgba(255, 255, 255, .48); }
.newsletter-input:focus { outline: none; border-color: var(--dorado); background: rgba(255, 255, 255, .12); }
.bg-gris .newsletter-input, .bg-blanco .newsletter-input {
background: #fff; border-color: var(--gris-borde); color: var(--texto);
}
@media (max-width: 580px) {
.newsletter-fields { grid-template-columns: 1fr; }
} .ccpch-richtext { padding: 80px 0; }
.entry-content { font-size: 1.02rem; line-height: 1.85; }
.entry-content h2 { font-size: 1.7rem; margin-top: 2em; }
.entry-content h3 { font-size: 1.3rem; margin-top: 1.6em; }
.entry-content h2:first-child, .entry-content h3:first-child { margin-top: 0; }
.entry-content img { border-radius: var(--radius-sm); margin: 1.6em 0; }
.entry-content ul li, .entry-content ol li { margin-bottom: .5em; }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.entry-content .wp-block-image figcaption { font-size: .82rem; color: var(--texto-suave); text-align: center; margin-top: .6em; } .entry-content > * { max-width: 100%; }
.entry-content .alignwide {
width: var(--container);
max-width: 90vw;
margin-inline: calc(50% - min(var(--container), 90vw) / 2);
}
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.entry-content .alignleft { float: left; margin: .4em 1.6em 1.2em 0; }
.entry-content .alignright { float: right; margin: .4em 0 1.2em 1.6em; }
.entry-content .aligncenter { margin-inline: auto; }
.entry-content::after { content: ''; display: table; clear: both; }
.entry-content .wp-block-separator { max-width: 100%; }
.entry-content .wp-block-table { overflow-x: auto; } .entry-content .wp-block-table > table,
.entry-content > table { min-width: 520px; } .ccpch-block-placeholder {
border: 1px dashed var(--gris-borde);
border-radius: var(--radius);
padding: 40px 24px; text-align: center;
background: var(--gris); color: var(--texto-suave);
}
.ccpch-block-placeholder strong { display: block; font-family: var(--font-serif); font-size: 1.05rem; color: var(--navy); margin-bottom: 6px; } .calendar-section {
padding: 80px 0;
background: var(--gris);
}
.calendar-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
gap: 1.5rem;
margin-bottom: 2.5rem;
}
.calendar-header-actions {
margin-top: 0.5rem;
}
.month-grid-wrapper {
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.month-grid {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
gap: 6px;
width: 100%;
}
.day-header {
text-align: center;
font-size: .75rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--texto-suave);
padding: .6rem 0;
}
.day-cell {
height: 108px;
min-height: 108px;
max-height: 108px;
background: #ffffff;
border-radius: 8px;
padding: .5rem .55rem;
border: 1px solid #ede8e0;
font-size: .8rem;
position: relative;
display: flex;
flex-direction: column;
gap: 3px;
overflow-y: auto;
overflow-x: hidden;
box-sizing: border-box;
transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.day-cell::-webkit-scrollbar {
width: 3px;
}
.day-cell::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, .15);
border-radius: 3px;
}
.day-cell:hover {
border-color: #d6cfc4;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
.day-cell.today {
border-color: var(--rojo);
background: #fff8f8;
box-shadow: 0 0 0 1px var(--rojo);
}
.day-cell.other-month,
.day-cell.day-cell-empty {
background: #f8f6f2;
border-color: #f0ebe2;
color: #cccccc;
opacity: 0.6;
}
.day-num {
font-weight: 700;
font-size: .85rem;
color: var(--navy);
margin-bottom: .15rem;
flex-shrink: 0;
}
.day-cell.today .day-num {
color: var(--rojo);
}
.cal-event {
display: block;
width: 100%;
max-width: 100%;
box-sizing: border-box;
background: var(--rojo);
color: #ffffff;
border-radius: 4px;
padding: 3px 6px;
font-size: .7rem;
font-weight: 500;
line-height: 1.25;
text-decoration: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
transition: transform .15s ease, opacity .15s ease, filter .15s ease;
cursor: pointer;
flex-shrink: 0;
}
.cal-event:hover {
color: #ffffff;
opacity: 0.92;
transform: translateY(-1px);
filter: brightness(1.08);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.cal-event.cultural {
background: var(--dorado);
color: var(--navy);
}
.cal-event.cultural:hover {
color: var(--navy);
}
.cal-event.deportiva,
.cal-event.deportivo {
background: #2e6b56;
}
.cal-event.infantil {
background: #5566cc;
}
.cal-event.social {
background: #7a4699;
}
.cal-event.general {
background: var(--navy-mid);
}
@media (max-width: 768px) {
.month-grid {
gap: 4px;
min-width: 600px;
}
.day-cell {
height: 80px;
min-height: 80px;
max-height: 80px;
padding: .35rem;
border-radius: 6px;
}
.day-num {
font-size: .75rem;
}
.cal-event {
font-size: .62rem;
padding: 2px 4px;
border-radius: 3px;
}
.calendar-header {
flex-direction: column;
align-items: flex-start;
}
} .actividad-detail-block {
padding: 40px 0;
}
.act-detail-card {
background: var(--navy);
color: #ffffff;
border-radius: 12px;
padding: 40px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
border: 1px solid rgba(201, 151, 58, 0.2);
}
.act-detail-header {
margin-bottom: 24px;
}
.act-detail-title {
font-family: var(--font-serif);
font-size: 2.2rem;
color: #ffffff;
margin: 12px 0 8px;
line-height: 1.2;
}
.act-detail-lead {
color: rgba(255, 255, 255, 0.75);
font-size: 1.05rem;
line-height: 1.6;
margin: 0;
}
.act-detail-meta {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 28px 0;
padding: 24px 0;
border-top: 1px solid rgba(255, 255, 255, 0.1);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.meta-item {
display: flex;
align-items: center;
gap: 12px;
}
.meta-icon {
font-size: 1.4rem;
line-height: 1;
}
.meta-content {
display: flex;
flex-direction: column;
}
.meta-label {
font-size: .72rem;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--dorado-light);
}
.meta-value {
font-size: .92rem;
color: #ffffff;
font-weight: 500;
}
.act-detail-action {
margin-top: 24px;
}
.act-detail-notice {
margin-top: 20px;
padding: 12px 16px;
border-radius: 6px;
background: rgba(201, 151, 58, 0.12);
border: 1px dashed var(--dorado);
color: var(--dorado-light);
font-size: .85rem;
}
.act-detail-notice p {
margin: 0;
}.archive-section { padding: 80px 0 100px; }
.is-listing .archive-section:first-of-type { padding-top: 80px; }
.single-layout { padding: 80px 0 100px; } .single-grid {
display: grid;
grid-template-columns: minmax(0, 1fr) 340px;
gap: 56px;
align-items: start;
}
.single-main { min-width: 0; }
.single-sidebar { position: sticky; top: calc(var(--nav-height) + 24px); } .single-grid-aside-first { grid-template-columns: 340px minmax(0, 1fr); }
.single-grid-full { grid-template-columns: minmax(0, 1fr); }
.act-datos .event-badge { margin-bottom: 18px; }
.act-datos-list {
display: flex;
flex-direction: column;
gap: 18px;
margin: 0;
padding: 0;
list-style: none;
} .act-datos .meta-label { color: var(--texto-suave); }
.act-datos .meta-value { color: var(--navy); }
.act-datos-cta {
display: flex;
justify-content: center;
margin-top: 24px;
}
.single-content-wrap {
padding-block: 56px 88px;
}
.entry-content {
font-size: 1.05rem;
line-height: 1.85;
color: var(--texto);
}
.entry-content > * + * {
margin-top: 1.5em;
}
.entry-content p {
margin-bottom: 1.4em;
}
.entry-content ul,
.entry-content ol {
margin-block: 1.4em;
padding-left: 1.6em;
}
.entry-content ul li,
.entry-content ol li {
margin-bottom: .6em;
line-height: 1.7;
}
.entry-content h2 {
font-size: 1.8rem;
margin-top: 1.8em;
margin-bottom: .8em;
color: var(--navy);
}
.entry-content h3 {
font-size: 1.4rem;
margin-top: 1.6em;
margin-bottom: .6em;
color: var(--navy);
}
.entry-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.entry-tags a {
padding: 5px 13px; border-radius: 100px;
background: var(--gris); color: var(--texto-suave);
font-size: .76rem;
}
.entry-tags a:hover { background: var(--rojo-soft); color: var(--rojo); }
.post-nav {
display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;
margin-top: 48px; padding-top: 28px;
border-top: 1px solid var(--gris-borde);
font-size: .88rem;
}
.post-nav a { font-weight: 600; }
.post-nav-next { margin-left: auto; text-align: right; }
.entry-meta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: .8rem; color: var(--texto-suave); }
.page-links { margin-top: 32px; display: flex; gap: 8px; font-size: .88rem; } .comments-area { margin-top: 60px; padding-top: 40px; border-top: 1px solid var(--gris-borde); }
.comments-title, .comment-reply-title { font-size: 1.3rem; margin-bottom: 24px; }
.comment-list { list-style: none; margin: 0 0 40px; padding: 0; }
.comment-list li { margin-bottom: 24px; }
.comment-body { background: var(--gris); border-radius: var(--radius); padding: 22px 24px; }
.comment-meta { font-size: .8rem; color: var(--texto-suave); margin-bottom: 10px; }
.comment-form input[type='text'], .comment-form input[type='email'],
.comment-form input[type='url'], .comment-form textarea {
width: 100%; padding: 12px 14px;
font-family: inherit; font-size: .93rem;
background: var(--gris); border: 1px solid var(--gris-borde);
border-radius: var(--radius-sm);
}
.comment-form textarea { min-height: 130px; resize: vertical; }
.comment-form .submit {
display: inline-flex; padding: 14px 30px;
background: var(--rojo); color: #fff;
border: none; border-radius: var(--radius-sm);
font-size: .82rem; font-weight: 600;
letter-spacing: .06em; text-transform: uppercase;
cursor: pointer;
}
.comment-form .submit:hover { background: var(--rojo-dark); } .news-archive {
padding: 90px 0 96px;
background: #fff;
}
.news-archive > .container,
.single-noticia .single-layout > .container,
.news-submit-cta > .container {
max-width: var(--container);
}
.news-archive .section-label {
margin-bottom: 18px;
}
.news-archive .post-card-featured {
margin-bottom: 52px;
border: 0;
border-radius: 12px;
box-shadow: 0 8px 32px rgba(0, 0, 0, .09);
}
.news-archive .post-card-featured .post-card-img {
flex-basis: 56%;
min-height: 360px;
}
.news-archive .post-card-featured .post-card-body {
padding: 44px 42px;
}
.news-archive .post-card-featured .post-card-title {
font-size: clamp(1.45rem, 2vw, 1.72rem);
}
.news-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) 320px;
gap: 56px;
align-items: start;
}
.news-list-header h2 {
font-size: 1.7rem;
margin-bottom: 28px;
}
.news-archive .news-grid {
gap: 28px;
}
.news-archive .post-card {
border-radius: 10px;
box-shadow: 0 4px 16px rgba(0, 0, 0, .05);
}
.news-archive .post-card:not(.post-card-featured) .post-card-img {
aspect-ratio: 16 / 9;
}
.news-archive .post-card-body {
padding: 24px;
}
.news-archive .post-card-title {
font-size: 1.14rem;
}
.news-archive .pagination ul {
justify-content: flex-start;
}
.news-sidebar,
.single-sidebar {
min-width: 0;
}
.news-widget,
.single-sidebar .widget {
padding: 28px;
margin: 0 0 28px;
background: var(--gris);
border: 0;
border-radius: 10px;
}
.news-widget h3,
.single-sidebar .widget-title {
font-size: 1.12rem;
margin-bottom: 18px;
padding-bottom: 14px;
border-bottom: 2px solid var(--dorado);
}
.news-widget p {
font-size: .88rem;
line-height: 1.65;
color: var(--texto-suave);
margin-bottom: 18px;
}
.sidebar-news {
display: flex;
flex-direction: column;
gap: 18px;
}
.sidebar-item {
display: grid;
grid-template-columns: 70px minmax(0, 1fr);
gap: 13px;
color: inherit;
}
.sidebar-item img {
width: 70px;
height: 70px;
object-fit: cover;
border-radius: 6px;
}
.sidebar-item-text {
display: block;
min-width: 0;
}
.sidebar-item-text > span {
display: block;
margin-bottom: 3px;
color: var(--rojo);
font-size: .68rem;
font-weight: 700;
letter-spacing: .08em;
line-height: 1.3;
text-transform: uppercase;
}
.sidebar-item-text strong {
display: block;
color: var(--navy);
font-family: var(--font-serif);
font-size: .92rem;
line-height: 1.35;
}
.sidebar-item:hover .sidebar-item-text strong {
color: var(--rojo);
}
.sidebar-item-text time {
display: block;
margin-top: 4px;
color: var(--texto-suave);
font-size: .75rem;
}
.cat-list {
display: flex;
flex-direction: column;
gap: 4px;
list-style: none;
margin: 0;
padding: 0;
}
.cat-list a {
display: flex;
justify-content: space-between;
align-items: center;
gap: 14px;
padding: 8px 0;
color: var(--texto-suave);
border-bottom: 1px solid #e5e0d6;
font-size: .9rem;
}
.cat-list a:hover {
color: var(--rojo);
}
.cat-list span {
min-width: 28px;
padding: 2px 9px;
border-radius: 100px;
background: var(--navy);
color: #fff;
font-size: .72rem;
line-height: 1.5;
text-align: center;
}
.news-form-static {
display: flex;
flex-direction: column;
gap: 12px;
}
.news-form-static label {
display: block;
}
.news-form-static span {
display: block;
margin-bottom: 6px;
color: var(--navy);
font-size: .76rem;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
}
.news-form-static input {
width: 100%;
min-height: 44px;
padding: 11px 15px;
border: 1px solid #ddd8cf;
border-radius: 6px;
background: #fff;
color: var(--texto);
font: inherit;
}
.news-form-static input:focus {
outline: none;
border-color: var(--dorado);
}
.news-form-static button {
width: 100%;
min-height: 42px;
padding: 11px 18px;
border: 0;
border-radius: 6px;
background: var(--rojo);
color: #fff;
font-size: .82rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
cursor: pointer;
}
.news-submit-cta {
padding: 84px 0;
background: var(--navy);
}
.news-submit-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 36px;
}
.news-submit-inner h2 {
margin-bottom: 12px;
color: #fff;
font-size: clamp(2rem, 3vw, 2.6rem);
}
.news-submit-inner p {
max-width: 620px;
color: rgba(255, 255, 255, .68);
}
.news-submit-inner .section-label {
color: var(--dorado);
}
.single-noticia .banner-meta {
display: flex;
gap: 12px;
align-items: center;
flex-wrap: wrap;
margin-bottom: 18px;
color: rgba(255, 255, 255, .72);
font-size: .88rem;
}
.single-lead {
margin-bottom: 34px;
padding-bottom: 28px;
border-bottom: 1px solid var(--gris-borde);
color: var(--navy);
font-family: var(--font-serif);
font-size: clamp(1.25rem, 1.8vw, 1.55rem);
line-height: 1.45;
}
.single-noticia .entry-content {
max-width: 820px;
}
.single-noticia .entry-content p,
.single-noticia .entry-content li {
color: #4c4c4c;
font-size: 1.02rem;
line-height: 1.85;
}
.single-noticia .entry-content h2,
.single-noticia .entry-content h3 {
margin-top: 1.55em;
}
.single-noticia .post-nav {
gap: 14px;
margin-top: 44px;
padding-top: 26px;
}
.single-noticia .post-nav-prev,
.single-noticia .post-nav-next {
flex: 1 1 280px;
}
.single-noticia .post-nav a {
display: block;
padding: 16px 18px;
border: 1px solid var(--gris-borde);
border-radius: 8px;
background: var(--gris);
color: var(--rojo);
line-height: 1.45;
}
.single-noticia .post-nav a:hover {
border-color: var(--dorado);
background: #fff;
}
.news-contact-widget {
background: var(--gris);
}@media (max-width: 1100px) { .mosaic-grid { grid-template-columns: repeat(2, 1fr); grid-auto-flow: dense; }
.mosaic-card.large { grid-column: span 2; grid-row: span 1; min-height: 320px; }
.mosaic-card.tall { grid-row: span 1; }
.news-layout { grid-template-columns: 1fr; gap: 44px; }
.news-sidebar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } .news-sidebar .news-widget { margin-bottom: 0; }
.single-grid,
.single-grid-aside-first,
.single-grid-full { grid-template-columns: 1fr; gap: 48px; }
.single-sidebar { position: static; }
.footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
.cols-4 .cards-grid, .cols-4 .posts-grid, .posts-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
.nav-toggle { display: flex; }
.admin-bar .navbar { top: 46px; }
.nav-panel {
position: fixed;
top: 0;
right: 0;
z-index: 120;
width: min(88vw, 390px);
height: 100vh;
height: 100dvh;
display: flex;
flex-direction: column;
background:
linear-gradient(180deg, rgba(201, 151, 58, .08), rgba(26, 31, 46, 0) 42%),
var(--navy);
border-left: 1px solid rgba(201, 151, 58, .28);
box-shadow: -28px 0 70px rgba(0, 0, 0, .45);
transform: translateX(104%);
visibility: hidden;
pointer-events: none;
transition: transform .34s var(--ease), visibility .34s;
}
.navbar.is-open .nav-panel {
transform: translateX(0);
visibility: visible;
pointer-events: auto;
}
.nav-panel-head {
min-height: var(--nav-height);
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 14px 22px;
border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.nav-panel-title {
color: var(--dorado-light);
font-family: var(--font-serif);
font-size: 1.18rem;
font-weight: 700;
}
.nav-panel-body {
display: block;
flex: 1 1 auto;
min-height: 0;
overflow-y: auto;
overscroll-behavior: contain;
padding: 12px 18px 30px;
}
.nav-overlay {
display: block;
position: fixed;
inset: 0;
z-index: 110;
background: rgba(7, 10, 18, .58);
border: 0;
padding: 0;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity .28s var(--ease), visibility .28s;
}
.navbar.is-open .nav-overlay {
opacity: 1;
visibility: visible;
pointer-events: auto;
}
.nav-links {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 6px;
width: 100%;
padding: 0;
}
.nav-links > li {
position: relative;
border: 1px solid rgba(255, 255, 255, .08);
border-radius: 8px;
background: rgba(255, 255, 255, .035);
overflow: hidden;
}
.nav-links a {
min-height: 48px;
display: flex;
align-items: center;
padding: 14px 48px 14px 16px;
border-radius: 0;
font-size: .86rem;
letter-spacing: .04em;
white-space: normal;
}
.nav-links a:hover,
.nav-links > li.active > a {
color: var(--dorado-light);
background: rgba(201, 151, 58, .12);
}
.nav-links a.nav-cta {
margin: 8px;
justify-content: center;
padding: 13px 18px;
border-radius: 6px;
text-align: center;
} .nav-links > li.has-dropdown::after { display: none; }
.dropdown {
display: none; position: static;
min-width: 0;
padding: 4px 10px 12px;
margin: 0;
background: rgba(0, 0, 0, .14);
border: 0;
border-top: 1px solid rgba(255, 255, 255, .07);
border-radius: 0;
box-shadow: none;
}
.has-dropdown:hover > .dropdown { display: none; }
.has-dropdown.is-open > .dropdown { display: block; }
.dropdown a {
min-height: 40px;
padding: 10px 12px;
border-radius: 6px;
color: rgba(255, 255, 255, .72);
font-size: .82rem;
letter-spacing: .02em;
text-transform: none;
}
.nav-caret { display: none; }
.dropdown-toggle {
display: block;
position: absolute; top: 6px; right: 8px;
width: 38px; height: 38px;
background: rgba(255, 255, 255, .06);
border: 1px solid rgba(255, 255, 255, .08);
border-radius: 6px;
cursor: pointer;
}
.dropdown-toggle::after {
content: ''; position: absolute; top: 13px; left: 13px;
width: 9px; height: 9px;
border-right: 2px solid rgba(255, 255, 255, .78);
border-bottom: 2px solid rgba(255, 255, 255, .78);
transform: rotate(45deg);
transition: transform .25s var(--ease);
}
.has-dropdown.is-open .dropdown-toggle::after { transform: rotate(225deg); }
.nav-close {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
flex: 0 0 40px;
border: 1px solid rgba(255, 255, 255, .14);
border-radius: 8px;
background: rgba(255, 255, 255, .06);
cursor: pointer;
}
.nav-close::before,
.nav-close::after {
content: '';
position: absolute;
width: 18px;
height: 2px;
border-radius: 2px;
background: #fff;
}
.nav-close::before { transform: rotate(45deg); }
.nav-close::after { transform: rotate(-45deg); }
section { padding: 72px 0; }
.ccpch-mosaic { padding: 72px 0; }
.intro-grid { grid-template-columns: 1fr; gap: 44px; }
.media-derecha .intro-photo { order: 0; }
.badge-dorado { top: -14px; left: -12px; }
.badge-rojo { bottom: -12px; right: -12px; }
.tusan-strip { flex-direction: column; min-height: 0; }
.tusan-strip.is-reversed { flex-direction: column; }
.tusan-photo { min-height: 280px; }
.tusan-photo::after { background: linear-gradient(to bottom, transparent 50%, var(--navy) 100%); }
.tusan-content { flex: 1 1 auto; padding: 36px 5vw 56px; }
.map-layout, .contact-layout { grid-template-columns: 1fr; }
.ubicacion-map .map-side {
position: relative;
top: auto;
right: auto;
width: auto;
max-width: none;
margin: -48px 5vw 0;
}
.transport-grid,
.ubicacion-contacto-grid {
grid-template-columns: 1fr;
}
.revista-intro-inner,
.revista-destacado-inner,
.revista-suscripcion-inner {
grid-template-columns: 1fr;
gap: 44px;
}
.revista-ediciones-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.datos-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ubicacion-contacto-grid {
gap: 44px;
}
.contact-layout {
gap: 36px;
}
.contact-form-box {
padding: 36px 32px;
}
.person-lead, .edicion-destacada, .post-card-featured { grid-column: auto; }
.person-lead, .edicion-destacada { flex-direction: column; }
.person-lead .person-photo, .edicion-destacada .edicion-cover { flex: auto; }
.act-card-featured .act-card-link {
grid-template-columns: 1fr;
min-height: 0;
}
.act-card-featured .act-card-img {
min-height: 280px;
}
.act-card-featured .act-card-body {
padding: 32px 28px;
}
.directiva-board .people-grid { grid-template-columns: 1fr 1fr; }
.directiva-board .person-lead { grid-column: 1 / -1; }
.directiva-board .person-lead .person-photo { flex-basis: 120px; }
.bungalows-intro-inner,
.bungalows-location .intro-grid {
grid-template-columns: 1fr;
gap: 44px;
}
.bungalow-types-grid {
grid-template-columns: 1fr 1fr;
}
.reglamentos-layout {
grid-template-columns: 1fr;
gap: 36px;
}
.reg-sidebar {
position: static;
}
.sanciones-grid {
grid-template-columns: 1fr;
}
.servicios-intro .intro-grid {
grid-template-columns: 1fr;
gap: 44px;
}
.servicios-highlights .stat-row,
.ccpch-timeline.timeline-pasos.servicios-process .timeline-list {
grid-template-columns: 1fr 1fr;
}
.ccpch-timeline.timeline-pasos.servicios-process .timeline-list::before {
display: none;
}
.membresia-planes .pricing-grid {
grid-template-columns: 1fr;
max-width: 480px;
margin-inline: auto;
}
.membresia-planes .plan-featured,
.membresia-planes .plan-featured:hover {
transform: none;
}
.membresia-proceso .timeline-list {
grid-template-columns: 1fr 1fr;
}
.membresia-proceso .timeline-list::before {
display: none;
}
.estatutos-layout {
grid-template-columns: 1fr;
gap: 36px;
}
.estatutos-nav {
position: static;
}
.post-card-featured .post-card-link { flex-direction: column; }
.post-card-featured .post-card-img { flex: auto; aspect-ratio: 16 / 10; }
.post-card-featured .post-card-body { padding: 24px; }
.post-card-featured .post-card-title { font-size: 1.25rem; }
.news-archive .post-card-featured .post-card-img { min-height: 0; }
.section-header-inline { flex-direction: column; align-items: flex-start; gap: 20px; }
}
@media (max-width: 1100px) { .gallery-mosaico .gallery-track {
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 150px;
}
.gallery-mosaico .gallery-track .cell-4 { grid-column: span 1; }
.gallery-mosaico .gallery-track[data-count="5"] .cell-5 { grid-column: span 1; } .gallery-carrusel .gallery-track {
grid-template-columns: repeat(4, 1fr);
grid-auto-rows: 140px;
}
.gallery-carrusel .gallery-item:nth-child(5n + 2) { grid-column: span 2; }
}
@media (max-width: 720px) {
body { font-size: 16px; }
section { padding: 60px 0; }
.container,
.gallery-header,
.gallery-carrusel .gallery-track,
.gallery-mosaico .gallery-track {
padding-inline: 24px;
}
.ccpch-hero { min-height: 88vh; } .hero-content { padding: 90px 5vw 230px; }
.hero-stats { flex-wrap: wrap; }
.hero-stats .stat-item { flex: 1 0 50%; max-width: none; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.hero-stats .stat-item:nth-child(2n) { border-right: none; } .hero-actions { flex-direction: column; gap: 12px; width: 100%; margin-top: 24px; }
.hero-actions .btn { width: 100%; }
.hero-actions .btn-outline {
padding-block: 12px;
background: rgba(255, 255, 255, .04);
border-color: rgba(201, 151, 58, .38);
}
.page-banner { min-height: 320px; }
.banner-content {
width: 100%;
padding-block: 40px 36px;
padding-inline: 24px;
}
.banner-content h1 {
max-width: 100%;
font-size: 2.25rem;
line-height: 1.08;
}
.section-title,
.section-header .section-title,
.section-header-inline .section-title {
font-size: 2rem;
line-height: 1.14;
}
.cta-banner-title,
.news-submit-inner h2 {
font-size: 2rem;
line-height: 1.16;
}
.post-card-featured .post-card-title,
.news-archive .post-card-featured .post-card-title {
font-size: 1.35rem;
line-height: 1.22;
}
.post-card-title,
.act-card-title,
.news-archive .post-card-title {
font-size: 1.08rem;
}
.act-card-featured .act-card-title {
font-size: 1.55rem;
}
.single-noticia .entry-content h2 {
font-size: 1.45rem;
}
.single-noticia .entry-content h3 {
font-size: 1.2rem;
}
.cols-2 .cards-grid, .cols-3 .cards-grid, .cols-4 .cards-grid,
.cols-2 .posts-grid, .cols-3 .posts-grid, .cols-4 .posts-grid,
.posts-grid.cols-2, .posts-grid.cols-3, .posts-grid.cols-4,
.cards-grid, .posts-grid { grid-template-columns: 1fr; }
.actividades-featured.ccpch-posts {
padding-block: 64px 36px;
}
.cat-filter {
margin: -18px 0 32px;
}
.cat-btn {
min-height: 38px;
padding-inline: 16px;
}
.actividades-programas .card {
height: 260px;
}
.news-archive { padding-block: 64px; }
.news-sidebar { grid-template-columns: 1fr; }
.news-submit-inner { flex-direction: column; align-items: flex-start; }
.news-submit-inner .btn { width: 100%; justify-content: center; }
.sidebar-item { grid-template-columns: 64px minmax(0, 1fr); }
.sidebar-item img { width: 64px; height: 64px; }
.single-lead { font-size: 1.25rem; } .mosaic-grid {
grid-template-columns: 1fr;
grid-auto-rows: minmax(240px, auto);
}
.mosaic-card,
.mosaic-card.large,
.mosaic-card.tall { grid-column: 1 / -1; grid-row: span 1; }
.mosaic-header,
.mosaic-grid,
.ccpch-mosaic.archive-mosaic > .mosaic-grid {
padding-inline: 24px;
}
.mosaic-card.large { min-height: 280px; }
.mosaic-card.large .mosaic-title { font-size: 1.4rem; }
.mosaic-arrow { opacity: 1; transform: none; }
.pillars-grid { grid-template-columns: 1fr; }
.stat-row { gap: 26px; }
.ccpch-stats .stat-row { gap: 32px; } .ccpch-text-media .stat-row { gap: 0; margin-top: 32px; padding-top: 24px; }
.ccpch-text-media .stat { min-width: 0; padding-inline: 14px; }
.ccpch-text-media .stat-num { font-size: 1.9rem; }
.contact-form .form-row { grid-template-columns: 1fr; gap: 0; }
.contact-form-wrap { padding: 26px 22px; }
.ccpch-contact {
padding-block: 54px 28px;
}
.contact-form-box,
.info-box {
padding: 26px 22px;
}
.contact-form-box h2 {
font-size: 1.55rem;
}
.contact-form-hard .form-row {
grid-template-columns: 1fr;
gap: 0;
}
.ubicacion-map .map-frame,
.ubicacion-map .map-frame iframe {
min-height: 360px;
}
.ubicacion-map .map-side {
padding: 26px 22px;
margin-top: -36px;
}
.transport-grid,
.datos-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.transport-card,
.dato-card {
padding: 26px 22px;
}
.ubicacion-contacto-grid {
gap: 30px;
margin-top: 34px;
}
.ubicacion-contacto-foto {
height: 280px;
}
.ubicacion-form-hard .form-grid-2 {
grid-template-columns: 1fr;
}
.revista-cover-content {
padding: 24px;
}
.revista-ediciones-grid {
grid-template-columns: 1fr;
} .revista-past {
gap: 8px;
}
.revista-edicion-photo {
height: 220px;
}
.revista-form-hard {
flex-direction: column;
} .revista-form-hard input,
.revista-form-hard .btn {
width: 100%;
flex: 0 0 auto;
}
.revista-suscripcion-badge {
top: -10px;
right: -10px;
}
.revista-stats {
justify-content: space-between;
gap: 18px;
}
.ccpch-map .map-layout-full .map-frame,
.ccpch-map .map-layout-full .map-frame iframe {
min-height: 320px;
}
.ccpch-contact + .ccpch-map,
.ccpch-map:has(.map-layout-full) {
padding-block: 18px 56px;
}
.contacto-faq .accordion-head {
padding: 18px 20px;
}
.contacto-faq .accordion-body {
padding: 0 20px 20px;
}
.newsletter-inner { flex-direction: column; align-items: stretch; }
.newsletter-form { max-width: none; flex-direction: column; } .footer-top { grid-template-columns: 1fr; gap: 34px; text-align: center; }
.footer-brand-text { max-width: none; margin-inline: auto; }
.footer-logo { display: block; margin-inline: auto; }
.footer-socials { justify-content: center; }
.footer-links a:hover { padding-left: 0; }
.footer-bottom { flex-direction: column; align-items: center; text-align: center; }
.footer-legal { justify-content: center; flex-wrap: wrap; }
.directiva-board .people-grid { grid-template-columns: 1fr; }
.directiva-board .person-lead {
align-items: flex-start;
padding: 28px 24px;
}
.directiva-board .person-photo {
margin: 24px 22px 0;
}
.ccpch-bungalows-intro,
.bungalows-features,
.ccpch-bungalow-types,
.bungalows-location {
padding-block: 64px;
}
.bungalows-photo-secondary {
display: none;
}
.bungalows-photo-main img,
.bungalows-location .intro-photo img {
height: 320px;
}
.bungalow-types-grid {
grid-template-columns: 1fr;
}
.bungalows-actions .btn {
width: 100%;
justify-content: center;
}
.reglamentos-overview,
.ccpch-regulations-rules,
.reg-sanciones-section {
padding-block: 64px;
}
.reglamentos-overview .cards-grid {
grid-template-columns: 1fr;
}
.reg-sidebar a {
padding-inline: 0;
}
.rule-item {
padding: 15px 16px;
}
.sancion-card {
padding: 28px 24px;
}
.servicios-intro,
.servicios-catalogo,
.servicios-highlights,
.servicios-pricing,
.servicios-process {
padding-block: 64px;
}
.servicios-intro .intro-photo img {
height: 320px;
}
.servicios-intro .stat-row {
justify-content: center;
}
.servicios-highlights .stat-row,
.ccpch-timeline.timeline-pasos.servicios-process .timeline-list {
grid-template-columns: 1fr;
}
.servicios-cta .btn-ghost {
margin-left: 0;
}
.membresia-benefits,
.membresia-planes,
.membresia-proceso,
.membresia-faq {
padding-block: 64px;
}
.membresia-benefits .cards-grid {
grid-template-columns: 1fr 1fr;
}
.membresia-proceso .timeline-list {
grid-template-columns: 1fr 1fr;
}
.membresia-faq .cards-grid {
grid-template-columns: 1fr;
}
.membresia-cta .btn-ghost {
margin-left: 0;
} .estatutos-download-card {
align-items: flex-start;
flex-direction: column;
gap: 10px;
margin-top: 24px;
padding: 20px 18px;
}
.estatutos-download-icon { font-size: 1.8rem; }
.estatutos-download-card p { margin-bottom: 12px; }
.estatutos-download-card .btn { width: 100%; justify-content: center; }
.estatutos-intro,
.estatutos-capitulos,
.estatutos-historial {
padding-block: 64px;
}
.estatutos-intro .intro-photo img {
height: 320px;
}
.estatutos-chapter-header {
gap: 16px;
}
.estatutos-chapter article {
padding: 20px;
}
.timeline-item { gap: 18px; }
.timeline-marker { flex-basis: 40px; height: 40px; font-size: .8rem; }
.timeline-pasos .timeline-marker { width: 40px; height: 40px; }
.timeline-vertical .timeline-list::before { left: 19px; } .timeline-zigzag .timeline-list::before { left: 24px; transform: none; }
.timeline-zigzag .timeline-item { grid-template-columns: 48px 1fr; margin-bottom: 32px; }
.timeline-zigzag .timeline-dot-col { grid-column: 1; grid-row: 1; padding-top: 0; }
.timeline-zigzag .timeline-item:nth-child(odd) .timeline-body,
.timeline-zigzag .timeline-item:nth-child(even) .timeline-body {
grid-column: 2; grid-row: 1; text-align: left; padding-left: 20px; padding-right: 0;
}
.timeline-zigzag .timeline-empty { display: none; } .gallery-carrusel .gallery-track {
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 120px;
gap: 8px;
}
.gallery-carrusel .gallery-item,
.gallery-carrusel .gallery-item:nth-child(5n + 1),
.gallery-carrusel .gallery-item:nth-child(5n + 2),
.gallery-carrusel .gallery-item:nth-child(5n + 3),
.gallery-carrusel .gallery-item:nth-child(5n + 4),
.gallery-carrusel .gallery-item:nth-child(5n + 5) { grid-column: span 1; grid-row: span 1; }
.gallery-carrusel .gallery-item:nth-child(3n + 1) { grid-column: span 2; grid-row: span 2; } .gallery-mosaico .gallery-track {
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 120px;
gap: 8px;
}
.gallery-mosaico .gallery-track .cell-1 { grid-column: span 2; grid-row: span 2; }
.gallery-mosaico .gallery-track .cell-4,
.gallery-mosaico .gallery-track[data-count="5"] .cell-5 { grid-column: span 1; }
.gallery-mosaico .gallery-track[data-count="1"] .cell-1,
.gallery-mosaico .gallery-track[data-count="2"] .cell-1,
.gallery-mosaico .gallery-track[data-count="3"] .cell-1 { grid-column: span 2; }
.gallery-mosaico .gallery-track[data-count="2"],
.gallery-mosaico .gallery-track[data-count="3"] { grid-template-columns: repeat(2, 1fr); }
.gallery-mosaico .gallery-track[data-count="2"] .cell-2 { grid-row: span 1; grid-column: span 2; }
.gallery-more { font-size: 1.2rem; }
.cta-banner-inner { padding: 70px 5vw; }
.cta-banner-actions .btn { width: 100%; }
.btn { padding: 13px 24px; }
.back-to-top { right: 14px; bottom: 14px; }
}
@media (max-width: 575px) { .membresia-benefits .cards-grid,
.membresia-proceso .timeline-list {
grid-template-columns: 1fr;
} .membresia-proceso .timeline-text {
max-width: 34ch;
}
}
@media (max-width: 420px) {
.banner-content h1 {
font-size: 2rem;
}
.section-title,
.section-header .section-title,
.section-header-inline .section-title,
.cta-banner-title,
.news-submit-inner h2 {
font-size: 1.75rem;
}
.single-lead {
font-size: 1.12rem;
}
}
@media print {
.navbar, .site-footer, .back-to-top, .nav-toggle, .search-form, .breadcrumb { display: none !important; }
.page-banner { margin-top: 0; min-height: 0; }
.page-banner > img, .banner-overlay { display: none; }
.banner-content h1 { color: #000; }
body { font-size: 12pt; color: #000; }
a { color: #000; text-decoration: underline; }
}