/* Promociones — Natural Editorial · tarjetas y reservas */
.ed-page{background:#faf7f0;color:#28352e}
.ed-page .ed-list{background:#faf7f0;min-height:100vh;padding:clamp(105px,11vw,150px) 0 110px}
.promo-heading{max-width:850px;margin:0 0 clamp(36px,5vw,58px)}
.promo-kicker{display:block;font-size:.73rem;letter-spacing:.2em;color:#69816e;font-weight:650;margin-bottom:18px}
.promo-heading h1{color:#173b32;font-size:clamp(2.3rem,5vw,4.65rem);font-weight:550;letter-spacing:-.052em;line-height:1.1}
.promo-heading h1 span{color:#55745a}
.promo-heading p{max-width:690px;margin:22px 0 0;color:#657568;font-size:clamp(.98rem,1.55vw,1.1rem);line-height:1.8}
.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.promo-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe3d8;border-radius:4px;background:#fffefb;box-shadow:0 3px 16px rgba(22,48,33,.045);transition:box-shadow .25s,border-color .25s,transform .25s}
.promo-card:hover{border-color:#a7b9a7;box-shadow:0 15px 35px rgba(22,48,33,.10);transform:translateY(-3px)}
.promo-photo{position:relative;height:clamp(195px,21vw,265px);overflow:hidden;background:#e2e9e0}
.promo-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s}
.promo-card:hover .promo-photo img{transform:scale(1.035)}
.promo-price{position:absolute;bottom:16px;left:17px;display:flex;align-items:baseline;gap:8px;max-width:calc(100% - 34px);padding:10px 13px;background:#fffdf6;color:#173b32;box-shadow:0 2px 10px #0002}
.promo-price small{font-size:.7rem;font-weight:600;color:#6f8372}
.promo-price strong{font-size:1.29rem;font-weight:750;overflow-wrap:anywhere}
.promo-card-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:25px 24px 24px}
.promo-card-body h2{font-size:clamp(1.35rem,1.9vw,1.7rem);font-weight:650;letter-spacing:-.035em;line-height:1.25;color:#173b32;overflow-wrap:anywhere;margin:0 0 23px}
.promo-detail{display:flex;align-items:flex-start;gap:12px;padding:0 0 19px;min-width:0}
.promo-detail>i,.promo-time>i{color:#739078;flex:none;margin-top:3px}
.promo-detail small,.promo-time small{display:block;font-size:.67rem;letter-spacing:.075em;text-transform:uppercase;color:#77867a;margin-bottom:6px}
.promo-detail p{font-size:.91rem;line-height:1.6;color:#314c3e;overflow-wrap:anywhere}
.promo-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 0 20px;border-top:1px solid #e7eae1}
.promo-time{display:flex;align-items:flex-start;gap:9px;min-width:0}
.promo-time strong{display:block;font-size:.94rem;color:#1c4433;font-weight:650}
.promo-book{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:auto;min-height:52px;padding:12px 16px;background:#173b32;color:#fff;font-size:.9rem;font-weight:650;border:0;border-radius:3px;transition:background .2s;cursor:pointer}
.promo-book:hover{background:#365f48}.promo-book:focus-visible{outline:3px solid #72947d;outline-offset:3px}
.promo-book-arrow{margin-left:auto;font-size:.8rem}
.promo-empty{grid-column:1/-1;display:grid;justify-items:center;text-align:center;gap:12px;padding:58px 22px;background:#fffefb;border:1px solid #dfe3d8}
.promo-empty>i{font-size:2rem;color:#77977c}.promo-empty h2{font-size:1.5rem;color:#173b32;font-weight:600}.promo-empty p{color:#66756c}
/* Ventana encima del navbar fijo; scroll interno para móviles y pantallas bajas */
.promo-modal-layer{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,28px);isolation:isolate}
.promo-modal-backdrop{position:absolute;inset:0;background:rgba(10,30,24,.75);backdrop-filter:blur(4px)}
.promo-modal-panel{position:relative;z-index:1;width:min(100%,560px);max-height:min(90dvh,900px);overflow-y:auto;overscroll-behavior:contain;background:#fffdf8;border:1px solid #d9e1d5;border-radius:5px;box-shadow:0 30px 80px rgba(6,28,18,.28)}
.promo-modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 27px;background:#eff1e9;border-bottom:1px solid #dae2d7}
.promo-modal-header h3{font-size:1.15rem;font-weight:650;color:#173b32}
.promo-modal-close{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d2dcd1;background:#fffdf8;color:#173b32;cursor:pointer}
.promo-modal-close:hover{background:#e6ede3}.promo-modal-close:focus-visible{outline:3px solid #72947d;outline-offset:2px}
.promo-modal-content{padding:26px 28px 30px}
.promo-modal-content input{font-size:16px;min-height:48px;border-radius:3px}
.promo-modal-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:13px 18px;background:#173b32;color:white;border:0;border-radius:3px;font-weight:650;cursor:pointer}
.promo-modal-submit:hover{background:#365f48}
@media(max-width:1100px){.promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-photo{height:260px}}
@media(max-width:680px){.promo-grid{grid-template-columns:1fr;gap:20px}.promo-photo{height:clamp(210px,57vw,320px)}.promo-card-body{padding:23px 22px}.promo-card-body h2{font-size:1.6rem}.ed-page .ed-list{padding-top:105px;padding-bottom:72px}.promo-heading{margin-bottom:32px}}
@media(max-width:520px){.promo-modal-layer{padding:0;align-items:stretch}.promo-modal-panel{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.promo-modal-header{padding-top:max(20px,env(safe-area-inset-top));padding-inline:20px}.promo-modal-content{padding:23px 20px max(30px,env(safe-area-inset-bottom))}}
@media(max-width:340px){.promo-times{gap:6px}.promo-card-body{padding:19px 17px}.promo-price{left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.promo-card,.promo-photo img,.promo-book{transition:none!important}.promo-card:hover{transform:none}}
