﻿.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.experiences-hero-image{background-image:url('../img/experiencias-hero-img.png');background-position:center 47%}.experiences-hero:after{background:linear-gradient(90deg,#fff9ed 0 28%,rgba(255,249,237,.96) 37%,rgba(255,249,237,.5) 50%,transparent 63%)}
.catalog{padding-block:10px 16px}.catalog-tools{min-height:72px;padding:10px 14px;border:1px solid rgba(154,101,62,.11);border-radius:14px;background:rgba(255,251,244,.82);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(230px,330px) 1fr auto;align-items:center;gap:20px}.search-box{height:48px;border:1px solid rgba(154,101,62,.18);border-radius:9px;background:rgba(255,255,255,.43);display:flex;align-items:center;padding:0 15px;gap:12px;box-shadow:inset 0 1px 4px rgba(69,18,6,.04)}.search-icon{width:16px;height:16px;border:2px solid #8c4c34;border-radius:50%;position:relative;flex:0 0 auto}.search-icon:after{content:'';position:absolute;width:7px;height:2px;background:#8c4c34;right:-5px;bottom:-2px;transform:rotate(45deg)}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--coffee);font:inherit;font-size:13px}.search-box input::placeholder{color:#8e756b}.filters{display:flex;align-items:center;justify-content:center;gap:9px}.filter-label{font-size:12px;font-weight:700;margin-right:4px}.filter{height:46px;padding:0 18px;border:1px solid #d8ad8b;border-radius:8px;color:var(--coffee);background:transparent;display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;transition:.18s ease}.filter img{width:20px;height:20px}.filter:hover{background:#fff4e2}.filter.active{color:#fff;border-color:#c55b03;background:linear-gradient(100deg,#c45c00,#dc850e);box-shadow:0 5px 12px rgba(183,86,0,.18)}.result-count{min-width:130px;margin:0;padding:11px 18px;border:1px solid #d8ad8b;border-radius:999px;text-align:center;font-size:12px;white-space:nowrap}.result-count strong{font-weight:inherit}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.catalog-card{min-width:0;overflow:hidden;border:1px solid rgba(154,101,62,.17);border-radius:12px;background:rgba(255,251,244,.9);box-shadow:0 4px 12px rgba(69,18,6,.09);display:flex;flex-direction:column}.card-image{aspect-ratio:16/9;position:relative;overflow:hidden;background:#451206;display:grid;place-items:center}.card-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.card-thumbnail-icon{width:54px;height:54px;background-color:#d88623;mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.card-thumbnail-icon--curso{mask-image:url('../icons/graduation-cap.svg');-webkit-mask-image:url('../icons/graduation-cap.svg')}.card-thumbnail-icon--workshop{mask-image:url('../icons/coffee.svg');-webkit-mask-image:url('../icons/coffee.svg')}.card-thumbnail-icon--evento{mask-image:url('../icons/calendar-dots.svg');-webkit-mask-image:url('../icons/calendar-dots.svg')}.card-category{position:absolute;z-index:1;top:11px;left:13px;padding:5px 12px;border-radius:6px;color:#fff;background:linear-gradient(100deg,#bd5000,#dd810d);font-size:11px}.card-body{padding:10px 15px 12px;display:flex;flex:1;flex-direction:column}.card-body h3{min-height:42px;margin-bottom:6px;font-size:20px;line-height:1.05;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-description{height:47px;margin-bottom:8px;color:#5e382d;font-size:12px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:1px 0 12px;padding:0;list-style:none;color:#451206;font-size:12px}.card-meta li{display:flex;align-items:center;gap:7px}.card-meta img{width:21px;height:21px;filter:invert(48%) sepia(91%) saturate(1769%) hue-rotate(359deg) brightness(93%) contrast(93%)}.card-action{width:100%;min-height:34px;margin-top:auto;border:1px solid #d46b27;border-radius:6px;color:#c45814;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:700;transition:.18s ease}.card-action:hover{color:#fff;background:#c45c00}.empty-state{margin:28px 0;padding:28px;border:1px dashed #cf9d76;border-radius:12px;text-align:center;background:rgba(255,251,244,.65)}
.card-availability{position:absolute;z-index:1;top:11px;right:13px;padding:5px 10px;border-radius:999px;color:#fff;font-size:11px;font-weight:700}.card-availability--available{background:#27864a}.card-availability--unavailable{background:#777}
@media(max-width:1050px){.catalog-tools{grid-template-columns:1fr auto}.search-box{grid-column:1}.filters{grid-column:1/-1;grid-row:2;justify-content:flex-start}.result-count{grid-column:2;grid-row:1}.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.experiences-hero-image{background-position:center}.experiences-hero:after{background:linear-gradient(0deg,#fff8eb 0,transparent 60%)}.catalog{padding-top:0}.catalog-tools{display:flex;flex-wrap:wrap;gap:10px;padding:12px}.search-box{width:100%}.filters{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:3px}.filter-label{display:none}.filter{height:41px;flex:0 0 auto;padding:0 13px}.filter img{width:17px}.result-count{margin-left:auto;padding:8px 14px}.catalog-grid{grid-template-columns:1fr}.site-footer{margin-top:10px}}

.card-action{background:transparent;cursor:pointer;font-family:inherit}.reservation-open{overflow:hidden}.reservation-modal[hidden]{display:none}.reservation-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .18s ease}.reservation-modal.is-visible{opacity:1}.reservation-backdrop{position:absolute;inset:0;background:rgba(24,16,12,.65);backdrop-filter:blur(1px)}.reservation-dialog{position:relative;width:min(100%,650px);max-height:calc(100vh - 48px);overflow:auto;padding:34px 42px 22px;border:1px solid rgba(122,69,37,.22);border-radius:13px;color:#451206;background:linear-gradient(145deg,#fffdf9,#fff8ee);box-shadow:0 24px 70px rgba(24,10,4,.35);transform:translateY(12px) scale(.985);transition:transform .18s ease}.reservation-modal.is-visible .reservation-dialog{transform:none}.reservation-close{position:absolute;top:19px;right:24px;border:0;padding:0;color:#451206;background:none;font:300 28px/1 Arial;cursor:pointer}.reservation-header{text-align:center}.reservation-kicker{margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:700}.reservation-kicker img{width:22px;height:22px;filter:invert(32%) sepia(95%) saturate(1902%) hue-rotate(357deg) brightness(94%)}.reservation-header h2{margin:0 0 8px;font-size:34px;line-height:1.05}.reservation-header>p:last-child{margin:0;color:#604a42;font-size:13px;line-height:1.45}.reservation-selected{min-height:58px;margin:25px 0 17px;padding:7px 18px;border:1px solid #efcba7;border-radius:8px;background:#fff1df;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px}.reservation-selected-icon{width:38px;height:38px;border:1px solid #e8953c;border-radius:50%;display:grid;place-items:center;margin-right:8px;flex:0 0 auto}.reservation-selected-icon img{width:19px;filter:invert(51%) sepia(93%) saturate(1416%) hue-rotate(353deg)}.reservation-selected strong{color:#bd581d;font:700 17px Georgia,serif}.reservation-form{display:grid;gap:12px}.reservation-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.reservation-form .optional{font-weight:400}.reservation-field{min-height:38px;border:1px solid #decabb;border-radius:7px;background:rgba(255,255,255,.62);display:flex;align-items:center;padding:0 13px;gap:12px;transition:.18s}.reservation-field:focus-within{border-color:#d88623;box-shadow:0 0 0 3px rgba(216,134,35,.12)}.reservation-field img{width:17px;height:17px;opacity:.75}.reservation-field input,.reservation-field textarea{width:100%;border:0;outline:0;color:#451206;background:transparent;font:12px Arial,sans-serif}.reservation-field textarea{height:43px;padding:11px 0;resize:vertical}.reservation-field--message{align-items:flex-start}.reservation-field--message img{margin-top:11px}.reservation-consent{margin:3px 0 8px;color:#80675c;font-size:11px}.reservation-consent span{margin-right:7px;color:#d86616}.reservation-actions{display:grid;grid-template-columns:1fr 1.12fr;gap:20px}.reservation-actions button{min-height:43px;border:1px solid #d86616;border-radius:6px;font-weight:700;cursor:pointer}.reservation-cancel{color:#a84b19;background:transparent}.reservation-submit{color:#fff;background:linear-gradient(100deg,#c85b00,#e88b09);box-shadow:0 5px 12px rgba(183,86,0,.16)}.reservation-submit span{margin-left:12px}
@media(max-width:780px){.reservation-modal{padding:12px}.reservation-dialog{max-height:calc(100vh - 24px);padding:29px 20px 18px}.reservation-header h2{font-size:29px}.reservation-desktop-break{display:none}.reservation-selected{flex-wrap:wrap;margin:20px 0 15px;padding:9px 12px;text-align:center}.reservation-selected-icon{width:32px;height:32px;margin-right:2px}.reservation-selected strong{width:100%;font-size:16px}.reservation-actions{gap:10px}.reservation-close{top:15px;right:17px}}
.reservation-consent{display:flex;align-items:center;gap:7px}.reservation-consent img{width:14px;height:14px;flex:0 0 14px}
