/* Shared spacing and type rhythm. Brand assets, content order and product data stay intact. */
body.yk-renewal{--layout-gap:24px;--layout-radius:12px}
body.yk-renewal:not(.yk-reference-home) main{padding-top:8px;padding-bottom:24px}
body.yk-renewal main :is(h1,h2,h3,h4){line-height:1.5;letter-spacing:.015em;word-break:normal;overflow-wrap:anywhere}
body.yk-renewal:not(.yk-reference-home) main h1{font-size:clamp(1.65rem,2.6vw,2.25rem);line-height:1.45;margin-block:12px 20px}
body.yk-renewal main h2{font-size:clamp(1.25rem,1.8vw,1.5rem);margin-block:0 16px}
body.yk-renewal main h3{font-size:1.125rem;line-height:1.6}
body.yk-renewal main p{line-height:1.8}
body.yk-renewal main :is(section,article,fieldset){min-width:0}
body.yk-renewal main section>:first-child{margin-top:0}
body.yk-renewal main section>:last-child{margin-bottom:0}
body.yk-renewal main>section{margin-block:24px;border-radius:var(--layout-radius);box-shadow:none}
body.yk-renewal main :is(.grid,.yk-grid,.yk-discovery-grid){gap:20px}
body.yk-renewal main :is(.grid,.yk-grid,.yk-discovery-grid)>article{margin-block:0}
body.yk-renewal main>h2{margin-top:32px}
body.yk-renewal main>p{margin-block:12px 20px}
body.yk-renewal main>.breadcrumbs{line-height:1.7;margin-bottom:24px}
/* Remove inherited page-header geometry from section headings. */
body.yk-renewal main :is(.yk-green-page,.yk-events,.yk-experiences)>header{width:auto;max-width:none;margin:0;padding:0 0 20px;border:0}
body.yk-renewal main :is(.yk-green-page,.yk-discovery,.yk-donations){padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
body.yk-renewal .yk-green-page>section{margin:32px 0;padding:0;border:0;box-shadow:none;background:transparent}
body.yk-renewal .yk-green-page>.yk-green-history{padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}
body.yk-renewal .yk-green-page :is(.yk-green-stay,.yk-green-card){background:#fff;border-color:var(--line);border-radius:12px;box-shadow:none}
body.yk-renewal .yk-green-category{gap:8px 12px}
body.yk-renewal .yk-green-category a{font-size:.875rem;line-height:1.65;text-decoration:none;border:1px solid #cbdfea;background:#fff;padding:10px 14px}
body.yk-renewal .yk-green-actions a{font-size:1rem;line-height:1.5}
body.yk-renewal .yk-green-actions span{font-size:.875rem;line-height:1.5;margin-top:4px}
body.yk-renewal .yk-pre-green .yk-green-grid{align-items:start}
body.yk-renewal .yk-green-placeholder{padding:20px;min-height:88px}
body.yk-renewal .yk-green-card h3{margin-top:8px}
body.yk-renewal .yk-green-card-body{padding:20px}
body.yk-renewal .yk-donations>article{margin-block:20px;padding:24px;border-radius:12px}
body.yk-renewal .yk-discovery-grid article{border-radius:12px;padding:24px}
body.yk-renewal .yk-discovery-grid h2{font-size:1.25rem}
/* Reading pages should not stretch a paragraph across a comparison-sized canvas. */
body[data-layout="reading"] main{width:min(820px,calc(100% - 40px));margin:24px auto}
body[data-layout="reading"] main :is(p,li){line-height:1.9}
body[data-layout="reading"] main>h2{margin-top:32px;padding-top:8px}
body[data-layout="reading"] main li{margin-block:8px}
body[data-layout="reading"] main :is(.senior-hero,.kids-hero){padding:28px}
body[data-layout="reading"]>footer{max-width:820px}
body[data-layout="reading"] main>ul{padding-left:24px}
/* A single ticket has a single, centered reading column, not a spare three-column grid. */
body[data-yk-page="detail"] main{max-width:920px}
body[data-yk-page="detail"] #yk-experience .yk-ticket-detail-grid{display:block}
body[data-yk-page="detail"] #yk-experience .yk-ticket-detail{margin:20px 0;padding:0;border:0;background:transparent}
body[data-yk-page="detail"] #yk-experience .yk-ticket-detail h1{max-width:none;font-size:clamp(1.5rem,2.5vw,2rem);margin:16px 0 24px}
.yk-detail-resort,.yk-detail-title{display:block}
body[data-yk-page="detail"] .yk-detail-title{font-size:.75em;font-weight:600;margin-top:6px;line-height:1.6}
body[data-yk-page="detail"] #yk-experience .yk-ticket{padding:28px;margin:0}
body[data-yk-page="detail"] #yk-experience .yk-ticket details{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
body[data-yk-page="detail"] #yk-experience .yk-ticket details :is(p,small){font-size:.9375rem;line-height:1.8}
body[data-yk-page="detail"] #yk-experience .yk-ticket .yk-card-actions{margin-top:24px}
body[data-yk-page="detail"] #yk-experience .yk-ticket .yk-price{margin-block:20px}
/* Consistent cards and spacing around long resort descriptions. */
body.yk-resort-detail main>section:not(.yk-resort-hero){padding:24px;border-radius:12px}
body.yk-resort-detail .yk-resort-hero-text{padding:24px}
body.yk-resort-detail .yk-resort-kicker{padding:20px 24px 0}
body.yk-resort-detail .yk-resort-hero{min-height:0}
body.yk-resort-detail main>section>p{max-width:72ch}
body.yk-resort-detail .yk-experience-row{border:0;border-top:1px solid var(--line);border-radius:0;margin:16px 0;padding:20px 0;box-shadow:none}
body.yk-resort-detail .yk-trip-grid article{margin:0;border-radius:10px}
body.yk-renewal .yk-contribute form{padding:20px}
body.yk-renewal .yk-contribute :is(input,select,textarea){min-width:0}
body.yk-renewal .yk-reference-heading{flex-wrap:wrap;row-gap:8px}
body.yk-renewal .yk-reference-heading h2{margin:0}
body.yk-renewal .policy-footer{margin-top:40px;line-height:1.8;box-shadow:none}
body.yk-renewal main :is(button,input,select,textarea){line-height:1.5}
@media(max-width:700px){
 body.yk-renewal:not(.yk-reference-home) main{width:calc(100% - 32px);margin-top:20px;padding-top:0}
 body.yk-renewal main>.breadcrumbs{font-size:.8125rem;gap:6px;margin-bottom:20px;padding-bottom:12px}
 body.yk-renewal main>section{margin-block:20px}
 body.yk-renewal main :is(.grid,.yk-grid,.yk-discovery-grid){gap:16px}
 body.yk-resort-detail main>section:not(.yk-resort-hero){padding:18px}
 body.yk-resort-detail .yk-resort-hero-text{padding:18px}
 body.yk-resort-detail .yk-resort-kicker{padding:18px 18px 0}
 body.yk-resort-detail #ticket .price{font-size:1.125rem;line-height:1.8}
 body.yk-renewal .yk-discovery-grid article,body.yk-renewal .yk-donations>article{padding:18px}
 body.yk-renewal .yk-green-card-body{padding:16px}
 body.yk-renewal .yk-green-page>.yk-green-history,body.yk-renewal .yk-green-stay{padding:18px}
 body.yk-renewal .yk-green-category a{padding:10px 12px}
 body.yk-renewal .yk-green-page>header{padding-bottom:0}
 body.yk-renewal .yk-contribute form{padding:16px}
 body[data-yk-page="detail"] #yk-experience .yk-ticket{padding:18px}
 body[data-yk-page="detail"] #yk-experience .yk-ticket-detail h1{font-size:1.5rem;margin-bottom:20px}
 body[data-yk-page="detail"] .yk-detail-title{font-size:.8em}
 body.yk-renewal .policy-footer{width:100%;padding:20px;margin-top:24px}
 body.yk-renewal main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:1rem}
}
body.yk-renewal main h1{text-wrap:balance}
body.yk-renewal .about-footer{border-top:0;padding-top:8px}
body.yk-renewal main>footer{width:100%;max-width:none}
body.yk-renewal .policy-footer{width:100%}
body.yk-renewal .yk-green-page>header .yk-green-category{margin-bottom:0}
body.yk-renewal .yk-error .yk-action{display:inline-flex;padding:12px 16px;margin:6px 6px 6px 0;align-items:center}
body[data-yk-page="detail"] #yk-experience .yk-ticket{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px 32px;align-items:start}
body[data-yk-page="detail"] .yk-ticket-summary{grid-column:1;min-width:0}
body[data-yk-page="detail"] .yk-ticket-purchase{grid-column:1;grid-row:2;min-width:0}
body[data-yk-page="detail"] #yk-experience .yk-ticket>details{grid-column:2;grid-row:1/span 2;margin:0;padding:0 0 0 28px;border-top:0;border-left:1px solid var(--line);min-width:0}
body[data-yk-page="detail"] #yk-experience .yk-ticket-summary .yk-meta{margin-bottom:12px}
body[data-yk-page="detail"] #yk-experience .yk-ticket-purchase .yk-card-actions{margin:0 0 12px}
body[data-yk-page="detail"] .yk-ticket-purchase>a{display:block;box-sizing:border-box;width:100%;white-space:normal;line-height:1.65}
body[data-yk-page="detail"] .yk-ticket-purchase>.yk-buy{padding:12px 16px;text-align:center}
body[data-yk-page="detail"] .yk-ticket-purchase>.yk-official-link{margin-top:10px;padding:10px 0;min-height:44px}
@media(max-width:700px){
 body.yk-resort-detail .yk-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.yk-resort-detail .yk-detail-actions>.yk-action{grid-column:1/-1}
 body.yk-resort-detail .yk-detail-actions button{font-size:.875rem;padding:8px;line-height:1.5}
 body[data-yk-page="detail"] #yk-experience .yk-ticket{display:block}
 body[data-yk-page="detail"] #yk-experience .yk-ticket>details{border-left:0;border-top:1px solid var(--line);margin-top:24px;padding:20px 0 0}
 body[data-yk-page="detail"] .yk-ticket-purchase{margin-top:24px}
}
