/* Editorial layout for the Cantabria river atlas. */
.vpc-river-page{padding-bottom:76px;color:#eaf3f4}
.vpc-river-crumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding-top:20px;color:#a9c0c5;font-size:13px}
.vpc-river-crumb a,.vpc-river-back a{color:#72ddd5;text-decoration:none}
.vpc-river-crumb a:hover,.vpc-river-back a:hover{text-decoration:underline;text-underline-offset:3px}
.vpc-river-heading{padding-top:28px;padding-bottom:28px;border-bottom:1px solid rgba(116,221,213,.25)}
.vpc-river-eyebrow{margin:0 0 9px;color:#72ddd5;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.vpc-river-heading h1{max-width:1100px;margin:0;font-size:clamp(38px,6vw,68px);line-height:1.03;letter-spacing:-.04em}
.vpc-river-content{padding-top:28px}
.vpc-river-article{max-width:1120px;margin:0 auto;color:#d4e1e3;font-size:17px;line-height:1.78}
.vpc-river-article>p:first-of-type{font-size:19px;color:#edf6f6}
.vpc-river-article h2{margin:48px 0 14px;color:#f7fbfb;font-size:clamp(27px,3.2vw,38px);line-height:1.15;letter-spacing:-.025em}
.vpc-river-article h3{margin:32px 0 10px;color:#eaf5f5;font-size:23px;line-height:1.2}
.vpc-river-article p,.vpc-river-article ul,.vpc-river-article ol{max-width:none}
.vpc-river-article li{margin:0 0 8px}
.vpc-river-article a{color:#72ddd5;text-underline-offset:3px}
.vpc-river-article img{display:block;max-width:100%;height:auto;margin:26px auto 12px;border:1px solid rgba(116,221,213,.28);border-radius:13px;box-shadow:0 18px 44px rgba(0,0,0,.22)}
.vpc-river-article p:has(>em:only-child){margin-top:0;color:#a9c0c5;font-size:13px;line-height:1.55}
.vpc-river-article h2:has(+ ul),.vpc-river-article h2:has(+ ol){margin-top:42px}
.vpc-river-article hr{height:1px;border:0;background:rgba(116,221,213,.2)}
.vpc-river-back{max-width:1120px;margin:44px auto 0;padding-top:20px;border-top:1px solid rgba(116,221,213,.2);font-weight:700}
@media(max-width:700px){.vpc-river-page{padding-bottom:48px}.vpc-river-heading{padding-top:22px}.vpc-river-content{padding-top:20px}.vpc-river-article{font-size:16px}.vpc-river-article>p:first-of-type{font-size:17px}.vpc-river-article h2{margin-top:36px}}

.vpc-river-home-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;border:1px solid rgba(116,221,213,.26);border-radius:14px;background:linear-gradient(115deg,rgba(19,53,62,.92),rgba(19,53,62,.55))}
.vpc-river-home-card h2{margin:4px 0 8px;font-size:clamp(25px,3vw,36px);line-height:1.15}
.vpc-river-home-card p{max-width:700px;margin:0;color:#c2d5d8}
.vpc-river-home-card .button{white-space:nowrap}
@media(max-width:650px){.vpc-river-home-card{align-items:flex-start;flex-direction:column;padding:24px}.vpc-river-home-card .button{white-space:normal}}
.vpc-river-article table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;border:1px solid rgba(116,221,213,.24);border-radius:12px;background:rgba(15,43,51,.7);font-size:15px;line-height:1.55}
.vpc-river-article thead{background:rgba(116,221,213,.1);color:#f1fbfb}
.vpc-river-article th,.vpc-river-article td{min-width:130px;padding:13px 15px;border-bottom:1px solid rgba(116,221,213,.15);text-align:left;vertical-align:top}
.vpc-river-article tbody tr:hover{background:rgba(116,221,213,.06)}
.vpc-river-article img{max-height:620px;object-fit:contain;background:rgba(5,22,27,.35)}
.vpc-river-article blockquote{margin:24px 0;padding:10px 22px;border-left:3px solid #72ddd5;color:#bdcfd2;background:rgba(116,221,213,.05)}
.vpc-river-article code{padding:2px 5px;border-radius:4px;background:rgba(116,221,213,.1);font-size:.9em}


/* Daily traditional festival calendar on the homepage. */
.vpc-home-festivals{padding-top:8px}
.vpc-home-festival-shell{padding:clamp(22px,4vw,38px);border:1px solid rgba(114,222,213,.28);border-radius:18px;background:linear-gradient(125deg,rgba(20,54,64,.96),rgba(14,37,46,.92));box-shadow:0 18px 48px rgba(0,0,0,.16)}
.vpc-home-festival-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
.vpc-home-festival-heading .eyebrow{margin:0 0 8px;color:#72ded5;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.vpc-home-festival-heading h2{margin:0;color:#f3f8f8;font-size:clamp(29px,4vw,42px);line-height:1.08;letter-spacing:-.035em}
.vpc-home-festival-today{margin:9px 0 0;color:#b9cdd1;font-size:15px;text-transform:capitalize}
.vpc-home-festival-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(114,222,213,.42);border-radius:50%;color:#72ded5;font-size:26px}
.vpc-home-festival-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px}
.vpc-home-festival-card{display:grid;grid-template-columns:61px minmax(0,1fr);align-items:center;gap:14px;min-height:95px;padding:14px;border:1px solid rgba(148,186,193,.2);border-radius:13px;background:rgba(29,62,72,.72);color:#f1f7f7;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.vpc-home-festival-card:hover{border-color:rgba(114,222,213,.72);background:rgba(36,76,85,.92);color:#fff;transform:translateY(-2px)}
.vpc-home-festival-date{display:grid;place-items:center;width:61px;height:61px;border-radius:11px;background:#72ded5;color:#08232b;font-size:15px;font-weight:800;text-align:center;text-transform:capitalize}
.vpc-home-festival-copy{display:grid;gap:4px;min-width:0}
.vpc-home-festival-copy small{color:#9fb9be;font-size:12px;font-weight:700;letter-spacing:.03em}
.vpc-home-festival-copy strong{font-size:16px;line-height:1.28}
.vpc-home-festival-copy em{color:#72ded5;font-size:12px;font-style:normal;font-weight:700}
.vpc-home-festival-subheading{margin:26px 0 12px;color:#d8e7e8;font-size:19px}
.vpc-home-festival-note{margin:17px 0 0;color:#a8bec2;font-size:13px;line-height:1.55}
.vpc-home-festival-list[hidden],.vpc-home-festival-subheading[hidden]{display:none!important}
@media(max-width:600px){.vpc-home-festival-shell{padding:21px 17px;border-radius:15px}.vpc-home-festival-heading{margin-bottom:16px}.vpc-home-festival-mark{flex-basis:40px;width:40px;height:40px;font-size:22px}.vpc-home-festival-card{min-height:82px;padding:11px;gap:12px}.vpc-home-festival-date{width:54px;height:54px;font-size:14px}.vpc-home-festival-copy strong{font-size:15px}}
