.descomptes-page{background:var(--veix);color:var(--marro);font-family:var(--font-text)}
.descomptes-wrap{width:min(1260px,calc(100% - 64px));margin-inline:auto}
.descomptes-page h1,.descomptes-page h2,.descomptes-page h3{font-weight:normal}
.descomptes-page a:focus-visible{outline:3px solid var(--taronja);outline-offset:4px}
.descomptes-overline{font-size:.68rem;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.descomptes-hero{background:var(--marro);color:var(--veix)}
.descomptes-hero-inner{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding-block:3.7rem 4.3rem}
.descomptes-hero-copy{max-width:920px;min-width:0}
.descomptes-hero .descomptes-overline{color:var(--groc);margin-bottom:.8rem}
.descomptes-hero h1{font:normal clamp(4.5rem,9vw,9rem)/.88 var(--font-titol);text-transform:uppercase;overflow-wrap:anywhere}
.descomptes-hero-copy>p:last-child{max-width:690px;margin-top:1.4rem;font-size:.89rem;line-height:1.75}
.descomptes-partner{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:250px;min-height:178px;padding:1rem;border:1px solid #fff0d566;border-radius:12px;background:#ffffff0d;transition:background .2s,transform .2s}
.descomptes-partner:hover{background:#ffffff1c;transform:translateY(-2px)}
.descomptes-partner span{margin-bottom:.6rem;font-size:.57rem;letter-spacing:.08em;text-transform:uppercase;color:var(--groc)}
.descomptes-partner img{width:172px;height:133px;object-fit:contain}
.descomptes-content{padding-block:3.4rem 5rem}
.descomptes-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.descomptes-section-heading .descomptes-overline{color:#9b5532;margin-bottom:.45rem}
.descomptes-section-heading h2{font:normal clamp(3.4rem,6vw,5.6rem)/.95 var(--font-titol);text-transform:uppercase}
.descomptes-count{flex:none;padding:.55rem .85rem;border:1.5px solid var(--marro);border-radius:100px;font-size:.62rem;line-height:1.3}
.allotjaments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.allotjament-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--marro);border-radius:16px;background:#fffaf0;box-shadow:5px 6px 0 var(--marro);transition:transform .22s ease,box-shadow .22s ease}
.allotjament-card:hover{transform:translateY(-5px);box-shadow:7px 10px 0 var(--marro)}
.allotjament-photo-wrap{position:relative;aspect-ratio:1.55;overflow:hidden;background:#d3c6b5;border-bottom:2px solid var(--marro)}
.allotjament-photo{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.allotjament-card:hover .allotjament-photo{transform:scale(1.035)}
.allotjament-offer-label{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;min-height:39px;padding:.5rem .72rem .35rem;border:2px solid var(--marro);border-radius:9px;background:var(--groc);color:var(--marro);font:normal 1.7rem/1 var(--font-titol);box-shadow:3px 3px 0 var(--marro)}
.allotjament-body{display:flex;flex-direction:column;flex:1;padding:1.25rem 1.2rem 1.2rem}
.allotjament-town{margin-bottom:.34rem;color:#86553d;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.allotjament-body h3{min-height:2.3em;font:normal clamp(1.8rem,2.8vw,2.35rem)/1.04 var(--font-titol);text-transform:uppercase;overflow-wrap:anywhere}
.allotjament-offer{box-sizing:border-box;margin-top:1rem;padding:1.1rem;border-radius:10px;background:#f8e7c3}
.allotjament-offer>span{display:block;margin-bottom:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b4a28}
.allotjament-offer>p:first-of-type{font-size:1rem;font-weight:700;line-height:1.45}
.allotjament-details{margin-top:.6rem;font-size:.875rem;line-height:1.6}
.allotjament-code{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.7rem;border-top:1px solid #3e322c33;font-size:.72rem;line-height:1.5}
.allotjament-code strong{display:inline-block;padding:.32rem .48rem;border:1px dashed var(--marro);border-radius:5px;background:#fffaf0;font-size:.8rem;letter-spacing:.03em;user-select:all}
.allotjament-contact{display:grid;gap:.65rem;margin-top:auto;padding-block:1.5rem 1.2rem}
.allotjament-contact>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:.55rem;font-size:.875rem;line-height:1.5}
.allotjament-contact dt{color:#846c5d;font-weight:700}
.allotjament-contact dd{min-width:0;overflow-wrap:anywhere}
.allotjament-contact a{text-decoration:underline;text-decoration-color:#3e322c66;text-underline-offset:3px}
.allotjament-contact a:hover{color:#a7421d;text-decoration-color:currentColor}
.allotjament-book{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;padding:.75rem .9rem;border:2px solid var(--marro);border-radius:8px;background:var(--taronja);font-size:.95rem;font-weight:700;line-height:1.35;transition:background .2s ease,transform .2s ease}
.allotjament-book:hover{background:var(--groc);transform:translateY(-2px)}
.allotjament-book span{font-size:1.15rem;font-weight:400;line-height:1}
.descomptes-next{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:3rem;padding:2.2rem 2.4rem;border-radius:14px;background:var(--marro);color:var(--veix)}
.descomptes-next .descomptes-overline{color:var(--groc);margin-bottom:.35rem}
.descomptes-next h2{font:normal clamp(2.7rem,4vw,4.1rem)/1 var(--font-titol);text-transform:uppercase}
.descomptes-next p:last-child{max-width:680px;margin-top:.55rem;font-size:.7rem;line-height:1.7}
.descomptes-next>a{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;flex:none;padding:.85rem 1rem;border-radius:8px;background:var(--groc);color:var(--marro);font-size:.65rem;font-weight:700;transition:transform .2s,background .2s}
.descomptes-next>a:hover{transform:translateY(-2px);background:var(--taronja)}
.restaurant-promo{display:grid;grid-template-columns:minmax(170px,.34fr) 1fr;align-items:center;gap:2rem;padding:2rem 2.4rem;border:2px solid var(--marro);border-radius:17px;background:var(--groc);box-shadow:5px 6px 0 var(--marro)}
.restaurant-promo-number{font:normal clamp(5.5rem,10vw,9rem)/.8 var(--font-titol);text-align:center}
.restaurant-promo h2{font:normal clamp(2.6rem,5vw,4.8rem)/1 var(--font-titol);text-transform:uppercase;margin:.4rem 0 .65rem}
.restaurant-promo p:last-child{max-width:760px;font-size:.76rem;line-height:1.75}
.restaurants-heading{margin-top:3.8rem}
.restaurants-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none}
.restaurant-card{display:flex;flex-direction:column;min-width:0;min-height:195px;padding:1.5rem;border:2px solid var(--marro);border-radius:13px;background:#fffaf0;box-shadow:4px 5px 0 var(--marro);transition:transform .2s ease,box-shadow .2s ease}
.restaurant-card:hover{transform:translateY(-4px);box-shadow:5px 8px 0 var(--marro)}
.restaurant-card h3{font:normal clamp(1.8rem,2.7vw,2.4rem)/1.04 var(--font-titol);text-transform:uppercase;overflow-wrap:anywhere}
.restaurant-card-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:auto;padding-top:1.15rem;border-top:1px solid #3e322c38}
.restaurant-card-contact a{max-width:100%;font-size:.95rem;line-height:1.45;text-decoration:underline;text-decoration-color:#3e322c66;text-underline-offset:3px;overflow-wrap:anywhere}
.restaurant-card-contact a:hover{color:#a7421d;text-decoration-color:currentColor}
@media(max-width:1050px){.allotjaments-grid,.restaurants-list{grid-template-columns:repeat(2,minmax(0,1fr))}.descomptes-hero-inner{gap:1.5rem}.descomptes-partner{width:210px}.descomptes-partner img{width:150px;height:116px}.allotjament-body h3{min-height:0}}
@media(max-width:700px){.descomptes-wrap{width:calc(100% - 36px)}.descomptes-hero-inner{display:block;padding-block:2.5rem 2.8rem}.descomptes-hero h1{font-size:clamp(3.7rem,13vw,5.7rem)}.descomptes-hero-copy>p:last-child{font-size:.75rem;margin-top:1rem}.descomptes-partner{width:max-content;max-width:100%;margin-top:1.7rem;padding:.7rem .85rem}.descomptes-content{padding-block:2.5rem 3.6rem}.descomptes-section-heading h2{font-size:3.2rem}.descomptes-count{font-size:.56rem}.allotjaments-grid{grid-template-columns:1fr;gap:1.1rem}.allotjament-photo-wrap{aspect-ratio:1.7}.allotjament-body{padding:1.1rem}.allotjament-body h3{font-size:2.25rem}.allotjament-offer>p:first-of-type{font-size:1rem}.descomptes-next{display:block;margin-top:2.2rem;padding:1.5rem}.descomptes-next>a{margin-top:1.35rem}.restaurant-promo{grid-template-columns:1fr;gap:.6rem;padding:1.6rem}.restaurant-promo-number{text-align:left;font-size:6.5rem}.restaurant-promo h2{font-size:3.1rem}.restaurants-heading{margin-top:2.8rem}.restaurants-list{grid-template-columns:1fr 1fr}.restaurant-card{min-height:185px}.restaurant-card h3{font-size:1.9rem}}
@media(max-width:480px){.descomptes-section-heading{align-items:start}.descomptes-section-heading h2{font-size:2.7rem}.descomptes-count{margin-top:.45rem;white-space:nowrap}.restaurants-list{grid-template-columns:1fr}.restaurant-card{min-height:0}.allotjament-photo-wrap{aspect-ratio:1.45}.allotjament-body h3{font-size:2.05rem}}
@media(prefers-reduced-motion:reduce){.allotjament-card,.allotjament-photo,.allotjament-book,.restaurant-card,.descomptes-partner,.descomptes-next>a{transition:none}.allotjament-card:hover,.allotjament-card:hover .allotjament-photo,.allotjament-book:hover,.restaurant-card:hover,.descomptes-partner:hover,.descomptes-next>a:hover{transform:none}}
