/* Chivay: vibrant local palette and compact discovery layout. */
:root{--clay:#c44220;--sand:#ffcf57;--green:#087e78;--muted:#596970;--line:#e8e5df}
.site-header{height:78px;border-bottom:3px solid #ffcf57}
.brand b,.brand-mark{color:var(--clay)}
.btn-primary{background:#c44220;border-color:#c44220;box-shadow:0 5px 14px #c4422026}
.btn-primary:hover,.btn-primary:focus{background:#a93216;border-color:#a93216}
.photo-hero{background:linear-gradient(120deg,#123342,#075b60);margin:16px 24px 0}
.hero-panorama{max-height:200px;object-fit:cover}
.photo-hero .hero-content{padding-block:22px}
.photo-hero h1{font-size:clamp(2rem,3.5vw,3.2rem);margin:12px 0}
.photo-hero h1 em{color:#ffcf57}
.photo-hero p{margin-bottom:12px;font-size:16px}
.photo-hero .search-bar{margin-top:18px}
.hero-bottom{margin-top:18px}.photo-hero:after{height:26px;background-size:auto 26px}
.quick-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding-block:28px}
.quick-category{flex:0 0 calc((100% - 72px)/7);border:1px solid #f1ded2;border-radius:18px;padding:10px 6px;background:#fff5eb;transition:transform .2s,background .2s}
.quick-category:nth-child(3n+2){background:#e9f7f3;border-color:#cce9e2}
.quick-category:nth-child(3n){background:#fff8dc;border-color:#f1e4ae}
.quick-category:hover{background:#ffe7c5;transform:translateY(-3px);color:#9a301a}
.quick-category .category-design,.quick-category .category-design[src*="artesania.svg"]{width:82px;height:72px;max-width:100%;object-fit:contain}
.quick-category strong{font-size:13px}
.section{padding-block:46px}.business-card{box-shadow:0 5px 20px #15374608;border-radius:22px}
.card-meta{font-size:12px}.card-body p{font-size:14px;min-height:0}.card-bottom{font-size:13px}.opening{font-size:12px}
.card-image .photo-label{background:#075b60eb;border-radius:8px;padding:5px 10px;right:auto;bottom:14px;font-size:12px}
.destinations{background:#e9f7f3}.map-section{background:#eef7f6}
.today-card{border:1px solid #f1dfae;background:#fff6d7}.today-card:nth-child(2){background:#def4ed}.today-card:nth-child(3){background:#e3f2fb}.today-card:nth-child(4){background:#ffe9df}
.today-card p,.join-banner p{color:#44575a}
.join-banner{background:linear-gradient(115deg,#fff0be,#ffdfb8);border:1px solid #efcc81}
.offer-price{background:#ffcf57}.offer-copy span{color:#ffcf57}
.offers-empty{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border:1px solid #cce9e2;border-radius:18px;background:#edf8f4}.offers-empty h2{font-size:23px;margin:5px 0}.offers-empty p{margin:0;color:#526768}
.site-footer{background:#123342}.mobile-nav{border-top:2px solid #ffcf57}
@media(max-width:900px){.quick-category{flex-basis:calc((100% - 48px)/5)}}
@media(max-width:767px){.site-header{height:72px}.photo-hero{margin:10px 10px 0}.hero-panorama{height:145px;aspect-ratio:auto}.photo-hero .hero-content{padding-block:20px}.photo-hero h1{font-size:32px}.photo-hero p{font-size:14px}.quick-categories{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 2px;gap:10px}.quick-category{flex:0 0 100px;scroll-snap-align:start}.quick-category .category-design,.quick-category .category-design[src*="artesania.svg"]{width:76px;height:66px}.section{padding-block:32px}.offers-empty{align-items:start;flex-direction:column;padding:22px}.hero-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){.quick-category{transition:none}.quick-category:hover{transform:none}}
/* Public partner profiles: identity, photography and direct contact. */
.partner-page{padding-top:24px}.partner-page>p:first-child{font-size:13px;color:var(--muted)}
.partner-hero{display:grid;grid-template-columns:1fr 1.15fr;background:#eaf6f3;border-radius:26px;overflow:hidden;border:1px solid #cde5df}
.partner-intro{padding:38px;align-self:center;min-width:0}.partner-intro h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.14;margin:16px 0;overflow-wrap:anywhere}.partner-summary{font-size:16px;color:#445e61}.partner-badges{display:flex;flex-wrap:wrap;gap:8px}.partner-badges .tag{background:white;color:#315c57;border:1px solid #cde5df}.partner-address{margin-top:20px;font-size:14px}.partner-actions{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 16px}.partner-actions .btn{padding:11px 15px;font-size:13px}.partner-review-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.partner-visual{position:relative;display:flex;align-items:center;background:#123342;min-width:0}.partner-visual .business-cover{width:100%;height:100%;max-height:520px;min-height:340px;object-fit:contain;aspect-ratio:auto;border-radius:0;background:transparent}.partner-gallery-link{position:absolute;bottom:18px;right:18px;padding:10px 16px;background:white;border-radius:12px;font-size:13px;font-weight:700;box-shadow:0 4px 16px #0002}
.partner-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:28px}.partner-tabs a{padding:9px 16px;white-space:nowrap;font-size:14px;font-weight:700;border-radius:30px;background:#fff5de}.partner-tabs a:hover,.partner-tabs a:focus-visible{background:#ffcf57;color:#172b3a}
.partner-page .detail-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:28px;align-items:start}.partner-content{min-width:0}.partner-block,.partner-page #opiniones{padding:28px;margin-bottom:22px;border:1px solid var(--line);border-radius:20px;background:white;scroll-margin-top:24px}.partner-block h2,.partner-page #opiniones h2,.partner-contact h2{font-size:26px;margin:8px 0 18px}.partner-block .notice{font-size:13px;background:#fff6df;color:#655322}.partner-block .prose{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.partner-page .photo-grid{gap:12px;margin:0}.partner-page .photo-grid button:first-child{grid-column:1/-1}.partner-page .photo-grid button:first-child img{aspect-ratio:16/9;object-fit:contain;background:#f3f5f4}.partner-page .photo-grid button{border:1px solid #e7ece8}
.partner-contact{background:#fff8e6;border-color:#efdfae;border-top:5px solid #ffcf57;scroll-margin-top:24px}.partner-contact .contact-actions{display:grid;grid-template-columns:1fr}.partner-contact a{overflow-wrap:anywhere}.partner-aside .panel{border-radius:20px}.partner-aside .panel:last-child{background:#edf7f5}.partner-aside .panel:last-child h3{font-size:18px}.partner-page #opiniones>.muted{font-size:13px}.partner-page #opiniones .panel{background:#fafcfb}.partner-page #opiniones blockquote{border-left:3px solid #087e78;margin:16px 0 0}.partner-page #opiniones{border-top:4px solid #087e78}
@media(max-width:900px){.partner-hero{grid-template-columns:1fr}.partner-intro{padding:28px}.partner-visual{grid-row:1}.partner-visual .business-cover{height:300px;min-height:0}.partner-page .detail-grid{grid-template-columns:1fr}.partner-aside{grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.partner-aside .panel{margin:0!important}}
@media(max-width:540px){.partner-hero{border-radius:18px}.partner-intro{padding:22px}.partner-intro h1{font-size:30px}.partner-visual .business-cover{height:230px}.partner-block,.partner-page #opiniones{padding:20px}.partner-aside{grid-template-columns:1fr}.partner-tabs{margin-bottom:20px}.partner-tabs a{padding:9px 12px;font-size:13px}.partner-block h2,.partner-page #opiniones h2{font-size:23px}.partner-gallery-link{bottom:12px;right:12px;font-size:12px}.partner-page .photo-grid{grid-template-columns:1fr 1fr}}
/* Visitor profiles contain only the contact panel in the aside. */
.partner-aside .partner-contact:last-child{background:#fff8e6}
@media(max-width:900px){.partner-aside{display:block}}

.home-carousel{position:relative}.home-carousel .hero-panorama{height:clamp(200px,30vw,440px);max-height:none;object-fit:cover;aspect-ratio:auto}.home-carousel .hero-panorama[hidden]{display:none}.home-carousel-controls{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px;background:#fff;color:#123342}.home-carousel-controls .btn{color:#123342;background:#fff}
/* Integrated cover: image, introduction and search in a single responsive panel. */
.photo-hero{isolation:isolate;min-height:620px;justify-content:flex-end;background:#123342;border-radius:24px;box-shadow:0 16px 40px #12334218}
.photo-hero .home-carousel{position:absolute;inset:0;z-index:-1;background:#123342}
.photo-hero .home-carousel:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102d3de6 0%,#102d3d80 58%,#102d3d26),linear-gradient(0deg,#102d3de6,transparent 65%);pointer-events:none}
.photo-hero .home-carousel .hero-panorama{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-height:none;animation:cover-reveal .55s ease-out}
.photo-hero .hero-content{width:100%;padding-top:100px;padding-bottom:38px;pointer-events:none}
.photo-hero .hero-content a,.photo-hero .hero-content button,.photo-hero .hero-content input,.photo-hero .hero-content select,.photo-hero .search-bar{pointer-events:auto}
.photo-hero h1{font-size:clamp(2.5rem,4.7vw,4.5rem);max-width:850px;line-height:1.08;text-shadow:0 2px 18px #0003;letter-spacing:-.04em}
.photo-hero h1 br{display:block}.photo-hero h1 em:before{content:none}
.photo-hero p{font-size:17px;line-height:1.65;max-width:580px;color:#fff}
.photo-hero .search-bar{margin-top:28px;box-shadow:0 12px 35px #0003;border:1px solid #ffffffb3;border-radius:18px;padding:12px}
.photo-hero .hero-bottom{margin-top:24px}.photo-hero:after{display:none}
.photo-hero .home-carousel-controls{position:absolute;z-index:2;right:28px;top:24px;display:flex;gap:6px;padding:6px;border:1px solid #ffffff55;border-radius:99px;background:#123342b3;color:white;backdrop-filter:blur(12px)}
.home-carousel-controls button{height:42px;min-width:42px;padding:0 14px;border:0;border-radius:99px;background:transparent;color:inherit;font-weight:700;cursor:pointer}
.home-carousel-controls button:hover{background:#ffffff26}.home-carousel-controls button:focus-visible{outline:3px solid #ffcf57;outline-offset:2px}.home-carousel-controls [data-carousel-count]{min-width:42px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
@keyframes cover-reveal{from{opacity:.35}to{opacity:1}}
@media(max-width:767px){.photo-hero{min-height:690px;border-radius:20px;margin:12px 10px 0}.photo-hero .hero-content{padding:105px 22px 26px}.photo-hero h1{font-size:clamp(2.2rem,8.5vw,3.3rem)}.photo-hero p{font-size:15px}.photo-hero .home-carousel:after{background:linear-gradient(0deg,#102d3df5 10%,#102d3d99 65%,#102d3d33)}.photo-hero .home-carousel-controls{top:16px;right:16px}.photo-hero .search-bar{margin-top:24px;padding:8px}.photo-hero .hero-bottom{line-height:1.6;font-size:9px}}
@media(prefers-reduced-motion:reduce){.photo-hero .home-carousel .hero-panorama{animation:none}}
