/* ADI YOGPEETH — YIN YOGA PAGE */
.yin-page{--g:#173f32;--g2:#294f41;--sage:#8b9b82;--sage2:#e9eee4;--gold:#b77b27;--gold2:#d8b16f;--cream:#fbf8f1;--cream2:#f3ecdf;--text:#35423d;--muted:#69736e;--bd:rgba(183,123,39,.22);color:var(--text);background:linear-gradient(135deg,#fcfaf5,#f8f3e9 55%,#f1e9dc);overflow:hidden}.yin-page *{box-sizing:border-box}.yin-container{width:min(calc(100% - 70px),1400px);margin:auto}
.yin-hero__grid{min-height:740px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(540px,.98fr);align-items:center;gap:30px;padding:58px 0 42px}.yin-hero__content{min-width:0}.yin-eyebrow{color:var(--gold);font:800 12px Arial;letter-spacing:.16em;text-transform:uppercase}.yin-hero h1{margin:15px 0 10px;color:var(--g);font:500 clamp(46px,4.3vw,72px)/.99 Georgia,serif;letter-spacing:-.035em}.yin-tagline{color:var(--gold);font:italic 500 26px Georgia,serif}.yin-ornament{width:150px;display:flex;gap:9px;align-items:center;margin:18px 0 20px}.yin-ornament span{height:1px;flex:1;background:var(--gold2)}.yin-ornament i{color:var(--gold)}.yin-copy{max-width:730px}.yin-copy p{margin:0 0 13px;font:400 15px/1.7 Arial;color:var(--text)}.yin-copy strong{color:var(--g)}.yin-details{width:min(100%,700px);display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border:1px solid var(--bd);border-radius:12px;background:#fffdf8b3}.yin-details>div{min-height:92px;display:flex;align-items:center;gap:10px;padding:12px}.yin-details>div+div{border-left:1px solid var(--bd)}.yin-details b{width:38px;height:38px;display:grid;place-items:center;border:1px solid #b77b2766;border-radius:50%;color:var(--gold)}.yin-details strong{color:var(--g);font:800 11px/1.25 Arial}.yin-details small{color:var(--muted);font:10px/1.25 Arial}.yin-details em{display:block;color:var(--g);font:800 24px Georgia;font-style:normal}.yin-actions{display:flex;gap:10px;margin-top:17px;flex-wrap:wrap}.yin-btn{min-height:63px;display:flex;align-items:center;gap:12px;padding:9px 15px;border-radius:10px;text-decoration:none;box-shadow:0 10px 26px #173f321a}.yin-btn:hover{transform:translateY(-2px)}.yin-btn--green{color:#fff;background:var(--g)}.yin-btn--light{color:var(--g);border:1px solid #c38b3f;background:#fffdf8}.yin-btn>b{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff66;border-radius:50%;color:var(--gold2)}.yin-btn--light>b{color:#fff;background:#20a95a;border-color:#20a95a}.yin-btn strong,.yin-btn small{display:block}.yin-btn span{font:800 13px Arial}.yin-btn small{margin-top:3px;font:400 10px Arial;opacity:.75}
.yin-visual{position:relative;min-height:650px;display:grid;place-items:center}.yin-rings,.yin-rings:before,.yin-rings:after{position:absolute;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%)}.yin-rings{width:620px;height:620px;border:1px solid #b77b2742;background:radial-gradient(circle,#ffffffa6,transparent 69%)}.yin-rings:before{content:"";width:580px;height:580px;border:1px solid #354f3f33}.yin-rings:after{content:"";width:535px;height:535px;border:7px solid #8b9b8240}.yin-photo{position:relative;z-index:3;width:500px;height:500px;overflow:hidden;border:9px solid #fff;border-radius:50%;background:#e8dece;box-shadow:0 28px 65px #173f322e}.yin-photo:after{content:"";position:absolute;inset:8px;z-index:2;border:1px solid #b77b27bd;border-radius:50%}.yin-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.yin-quote{position:absolute;z-index:5;right:0;bottom:-4px;width:255px;color:var(--g);text-align:center}.yin-quote>span{color:var(--gold);font:700 40px/.65 Georgia}.yin-quote p{margin:0;font:italic 20px/1.35 Georgia}.yin-quote i{color:var(--gold)}
.yin-features{padding:0 0 26px}.yin-features>.yin-container{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bd);border-radius:12px;background:#f6f1e9cc}.yin-features>div>div{}.yin-features>.yin-container>div{min-height:88px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px}.yin-features>div+div{border-left:1px solid var(--bd)}.yin-features i{width:39px;height:39px;display:grid;place-items:center;border:1px solid #b77b2759;border-radius:50%;color:var(--g);font-style:normal;font-size:21px}.yin-features strong,.yin-features small{display:block}.yin-features strong{font:800 12px Arial;color:var(--g)}.yin-features small{font:10px/1.35 Arial;color:var(--muted)}
.yin-intro{padding:18px 0 35px}.yin-intro-grid{display:grid;grid-template-columns:.82fr 1.08fr 1.1fr;gap:16px}.yin-intro article{position:relative;min-height:340px;padding:25px;border:1px solid #b77b2730;border-radius:12px;background:#fffdf8b8;box-shadow:0 14px 40px #1f362d12}.yin-intro h2{margin:0 0 18px;color:var(--g);font:500 27px/1.15 Georgia}.yin-intro p{font:13px/1.7 Arial;margin:0 0 15px}.yin-intro a{color:var(--gold);font:700 12px Georgia}.yin-intro ul{display:grid;gap:13px;margin:0;padding:0;list-style:none}.yin-intro li{position:relative;padding-left:24px;font:12px/1.55 Arial}.yin-intro li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800}.yin-intro ul.compact{gap:10px}.yin-intro ul.compact li{font-size:11px}
.yin-main{padding:25px 0 40px}.yin-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;margin-bottom:22px;text-align:center}.yin-heading>span{height:1px;background:#b77b2759}.yin-heading small{color:var(--gold);font:800 10px Arial;letter-spacing:.15em}.yin-heading h2{margin:4px 0;color:var(--g);font:500 30px/1.15 Georgia}.yin-heading p{margin:5px 0;color:var(--muted);font:12px Arial}.yin-heading.small h2{font-size:26px}.yin-main-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:17px}.yin-accordion{padding:16px;border:1px solid #b77b2730;border-radius:12px;background:#faf7efb8}.yin-acc-item+.yin-acc-item{margin-top:7px}.yin-acc-btn{width:100%;min-height:67px;display:grid;grid-template-columns:35px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:9px 11px;border:1px solid #b77b2726;border-radius:8px;background:#fffdf8;color:var(--g);cursor:pointer;text-align:left}.yin-acc-btn>b{width:31px;height:31px;display:grid;place-items:center;border:1px solid #b77b2759;border-radius:50%;color:var(--gold);font:800 10px Arial}.yin-acc-btn strong,.yin-acc-btn small{display:block}.yin-acc-btn strong{font:800 13px Arial}.yin-acc-btn small{margin-top:3px;color:var(--muted);font:10px/1.4 Arial}.yin-acc-btn em{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--sage2);font:18px Arial;font-style:normal}.yin-acc-btn[aria-expanded=true]{background:#f4f0e7;border-color:#b77b2770}.yin-acc-panel{padding:12px 16px 14px 57px;border:1px solid #b77b2720;border-top:0;border-radius:0 0 8px 8px;background:#f7f3ea}.yin-acc-panel ul{margin:0;padding:0;list-style:none}.yin-acc-panel li{position:relative;padding-left:17px;margin-bottom:7px;font:12px/1.5 Arial}.yin-acc-panel li:before{content:"•";position:absolute;left:0;color:var(--gold)}
.yin-schedule{overflow:hidden;border:1px solid #b77b2730;border-radius:12px;background:#fffdf8c7}.yin-schedule h2{margin:0;padding:17px;text-align:center;color:var(--g);font:500 25px Georgia;border-bottom:1px solid #b77b2726}.yin-schedule-grid{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:12px;padding:13px}.yin-schedule-grid>div{display:grid;gap:7px;align-content:start}.yin-schedule-grid>div>div{display:grid;grid-template-columns:116px 1fr;gap:8px;align-items:center}.yin-schedule time{padding:5px 7px;border-radius:5px;color:#fff;background:var(--g);font:700 9px Arial;text-align:center}.yin-schedule span{font:10px/1.3 Arial}.yin-schedule img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:8px}
.yin-booking{padding-bottom:35px}.yin-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.96fr);gap:16px}.yin-calendar,.yin-accommodation{border:1px solid #b77b2733;border-radius:12px;background:#fffdf8c7;box-shadow:0 14px 40px #1f362d12}.yin-calendar{padding:17px}.yin-calendar>header{display:flex;justify-content:space-between;align-items:end;gap:15px;padding-bottom:14px;border-bottom:1px solid #b77b2729}.yin-calendar header small{color:var(--gold);font:800 9px Arial;letter-spacing:.13em}.yin-calendar h2{margin:5px 0 2px;color:var(--g);font:500 25px Georgia}.yin-calendar header p{margin:0;color:var(--muted);font:11px Arial}.yin-calendar label{width:180px;font:700 8px Arial;color:var(--muted);text-transform:uppercase}.yin-calendar select{display:block;width:100%;height:42px;margin-top:4px;border:2px solid var(--gold);border-radius:8px;background:#fffdf8;color:var(--g);font:600 11px Arial}.yin-batch{margin-top:12px;border:1px solid #b77b2729;border-radius:9px;overflow:hidden;background:#fff}.yin-batch-top{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#f5f1e8;border-bottom:1px solid #b77b2729}.yin-batch-top small{color:var(--gold);font:700 8px Arial}.yin-batch-top h3{margin:3px 0;color:var(--g);font:500 20px Georgia}.yin-batch-top>span{padding:7px 9px;border-radius:5px;color:#347056;background:#e8f2eb;font:700 9px Arial}.yin-days{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:12px}.yin-day{min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #b77b2729;border-radius:6px;background:#fffdf8;text-align:center}.yin-day.start{border-color:#6db38a;background:#edf7f0}.yin-day.end{border-color:#d5a85e;background:#fbf4e6}.yin-day small{color:var(--muted);font:700 8px Arial}.yin-day strong{margin:5px 0 3px;color:var(--g);font:800 20px Georgia}.yin-day em{color:var(--muted);font:700 7px Arial;text-transform:uppercase;font-style:normal}.yin-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:0 12px 12px;border:1px solid #b77b2726;border-radius:7px;overflow:hidden}.yin-summary div{min-height:54px;padding:9px}.yin-summary div+div{border-left:1px solid #b77b2726}.yin-summary small,.yin-summary strong{display:block}.yin-summary small{color:var(--muted);font:700 7px Arial}.yin-summary strong{margin-top:5px;color:var(--g);font:600 10px Arial}.yin-batch-bottom{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 13px;border-top:1px solid #b77b2726}.yin-batch-bottom small{display:block;color:var(--muted);font:9px Arial}.yin-batch-bottom strong{color:var(--g);font:800 29px Georgia}.yin-batch-bottom em{margin-left:4px;color:var(--muted);font:8px Arial;font-style:normal}.yin-batch-bottom>div:last-child{display:flex;gap:7px}.yin-batch-bottom a{min-height:38px;display:grid;place-items:center;padding:0 12px;border:1px solid #cdbb9f;border-radius:6px;color:var(--g);font:700 9px Arial;text-decoration:none}.yin-batch-bottom .apply{color:#fff;background:var(--g);border-color:var(--g)}.yin-note{margin-top:10px;padding:9px 11px;border:1px solid #b77b2729;border-radius:6px;color:var(--muted);background:#faf7ef;font:9px/1.5 Arial}
.yin-accommodation{padding:17px 12px 0}.yin-accommodation>header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 10px}.yin-accommodation h2{margin:0;color:var(--g);font:500 25px Georgia}.yin-accommodation header a{color:var(--g);font:600 9px Arial}.yin-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.yin-rooms article{text-align:center;overflow:hidden;border:1px solid #b77b2729;border-radius:7px;background:#fff}.yin-rooms img{width:100%;height:110px;display:block;object-fit:cover}.yin-rooms h3{margin:8px 4px 2px;color:var(--g);font:700 10px Arial}.yin-rooms small{display:block;min-height:25px;color:var(--muted);font:8px/1.35 Arial}.yin-rooms strong{color:var(--g);font:800 18px Georgia}.yin-rooms del{margin-left:3px;color:#999;font:8px Arial}.room-features{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px -12px 0;padding:11px 12px;border-top:1px solid #b77b2726}.room-features span{text-align:center;color:var(--muted);font:8px Arial}
.yin-includes{padding:10px 0 30px}.yin-includes-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #b77b2729;border-radius:10px;background:#f7f4ebd1}.yin-includes-grid div{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 7px;text-align:center;color:var(--gold);font-size:23px}.yin-includes-grid div+div{border-left:1px solid #b77b2726}.yin-includes-grid strong{color:var(--g);font:800 10px Arial}.yin-includes-grid small{color:var(--muted);font:8px Arial}
.yin-faq{padding:5px 0 40px}.yin-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.yin-faq-btn{width:100%;min-height:42px;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #b77b2729;border-radius:6px;background:#fffdf8;color:var(--g);font:600 10px Arial;text-align:left;cursor:pointer}.yin-faq-btn b{color:var(--gold)}.yin-faq-answer{padding:9px 13px;border:1px solid #b77b2720;border-top:0;background:#f8f4eb;color:var(--muted);font:10px/1.55 Arial}
.yin-final{color:#fff;background:linear-gradient(90deg,#12372b,#173f32)}.yin-final>.yin-container{min-height:215px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 0}.yin-final small{color:#d7b26e;font:800 9px Arial;letter-spacing:.15em}.yin-final h2{margin:9px 0 0;color:#fff;font:500 clamp(28px,3vw,43px)/1.08 Georgia}.yin-final a{min-width:150px;min-height:48px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#b98735;font:800 11px Arial;text-decoration:none}
.yin-page button:focus-visible,.yin-page a:focus-visible,.yin-page select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media(max-width:1200px){.yin-container{width:min(calc(100% - 45px),1160px)}.yin-hero__grid{grid-template-columns:minmax(0,1fr) minmax(470px,.82fr)}.yin-photo{width:445px;height:445px}.yin-rings{width:545px;height:545px}.yin-rings:before{width:510px;height:510px}.yin-rings:after{width:470px;height:470px}.yin-main-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr)}.yin-booking-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr)}}
@media(max-width:900px){.yin-container{width:min(calc(100% - 36px),760px)}.yin-hero__grid{min-height:0;grid-template-columns:1fr;gap:35px;padding:45px 0 40px}.yin-visual{min-height:560px}.yin-photo{width:420px;height:420px}.yin-rings{width:490px;height:490px}.yin-rings:before{width:455px;height:455px}.yin-rings:after{width:435px;height:435px}.yin-quote{right:50%;transform:translateX(50%);bottom:-3px}.yin-features>.yin-container{grid-template-columns:repeat(2,1fr)}.yin-intro-grid{grid-template-columns:1fr 1fr}.yin-intro-grid article:last-child{grid-column:1/-1}.yin-main-grid,.yin-booking-grid{grid-template-columns:1fr}.yin-includes-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.yin-container{width:calc(100% - 30px)}.yin-hero__grid{padding:34px 0 30px}.yin-hero h1{font-size:39px}.yin-tagline{font-size:20px}.yin-copy p{font-size:14px}.yin-details{grid-template-columns:1fr}.yin-details>div+div{border-left:0;border-top:1px solid var(--bd)}.yin-actions{display:grid;grid-template-columns:1fr}.yin-btn{width:100%}.yin-visual{min-height:480px}.yin-photo{width:300px;height:300px}.yin-rings{width:350px;height:350px}.yin-rings:before{width:325px;height:325px}.yin-rings:after{width:310px;height:310px}.yin-quote{width:235px}.yin-features>.yin-container,.yin-intro-grid,.yin-faq-grid{grid-template-columns:1fr}.yin-features>.yin-container>div+div{border-left:0;border-top:1px solid var(--bd)}.yin-intro-grid article:last-child{grid-column:auto}.yin-intro article{min-height:auto;padding:22px 20px}.yin-heading{grid-template-columns:28px auto 28px;gap:8px}.yin-heading h2{font-size:23px}.yin-accordion{padding:9px}.yin-acc-btn{grid-template-columns:30px minmax(0,1fr) 26px;min-height:61px}.yin-acc-btn small{display:none}.yin-acc-panel{padding:11px 11px 12px 44px}.yin-schedule-grid{grid-template-columns:1fr}.yin-schedule img{min-height:220px;max-height:240px}.yin-calendar>header{flex-direction:column;align-items:stretch}.yin-calendar label{width:100%}.yin-days{grid-template-columns:repeat(3,1fr)}.yin-summary{grid-template-columns:repeat(2,1fr)}.yin-summary div:nth-child(3){border-left:0;border-top:1px solid #b77b2726}.yin-summary div:nth-child(4){border-top:1px solid #b77b2726}.yin-batch-bottom{flex-direction:column;align-items:stretch}.yin-batch-bottom>div:last-child{display:grid;grid-template-columns:1fr 1fr}.yin-rooms{grid-template-columns:1fr}.yin-rooms img{height:165px}.room-features{grid-template-columns:repeat(2,1fr)}.yin-includes-grid{grid-template-columns:repeat(2,1fr)}.yin-includes-grid div+div{border-left:0;border-top:1px solid #b77b2726}.yin-final>.yin-container{min-height:260px;flex-direction:column;align-items:flex-start;justify-content:center}.yin-final h2{font-size:30px}}
@media(max-width:400px){.yin-hero h1{font-size:35px}.yin-visual{min-height:450px}.yin-photo{width:275px;height:275px}.yin-rings{width:320px;height:320px}.yin-rings:before{width:300px;height:300px}.yin-rings:after{width:285px;height:285px}.yin-batch-bottom>div:last-child{grid-template-columns:1fr}}


/* ============================================================
   ADI YOGPEETH — FINAL YIN YOGA DESIGN OVERRIDES
   Curriculum + Daily Schedule + Calendar + Accommodation
   ============================================================ */

/* Typography baseline */
.yin-page p {
    font-size: 14px;
    line-height: 1.7;
}
.yin-page small {
    font-size: 12px;
    line-height: 1.4;
}

/* ============================================================
   CURRICULUM + DAILY SCHEDULE
   ============================================================ */

.yin-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, .72fr);
    gap: 14px;
    align-items: stretch;
}

.yin-accordion {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    gap: 7px 9px;
    align-content: start;
    padding: 10px;
    border: 1px solid #b77b2730;
    border-radius: 10px;
    background: linear-gradient(135deg, #fffdf8, #f7f2e8);
    box-shadow: 0 10px 28px #1f362d0d;
}

.yin-acc-item {
    min-width: 0;
    align-self: start;
    margin: 0 !important;
}

.yin-acc-btn {
    min-height: 69px;
    display: grid;
    grid-template-columns: 28px 35px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 6px;
    padding: 7px 8px;
    border: 1px solid #b77b2726;
    border-radius: 7px;
    background: #fffdf8;
    box-shadow: 0 2px 8px #1f362d08;
}

.yin-acc-btn::before {
    content: "✧";
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border: 1px solid #b77b274d;
    border-radius: 50%;
    color: #173f32;
    font-size: 13px;
    line-height: 1;
}

.yin-acc-item:nth-child(1) .yin-acc-btn::before { content: "♧"; }
.yin-acc-item:nth-child(2) .yin-acc-btn::before { content: "☯"; }
.yin-acc-item:nth-child(3) .yin-acc-btn::before { content: "♙"; }
.yin-acc-item:nth-child(4) .yin-acc-btn::before { content: "✿"; }
.yin-acc-item:nth-child(5) .yin-acc-btn::before { content: "◌"; }
.yin-acc-item:nth-child(6) .yin-acc-btn::before { content: "✧"; }
.yin-acc-item:nth-child(7) .yin-acc-btn::before { content: "♧"; }
.yin-acc-item:nth-child(8) .yin-acc-btn::before { content: "◉"; }
.yin-acc-item:nth-child(9) .yin-acc-btn::before { content: "▣"; }

.yin-acc-btn > b {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 0;
    color: #26352e;
    font-size: 9px;
}

.yin-acc-btn strong {
    font-size: 12px;
    line-height: 1.25;
}

.yin-acc-btn small {
    display: -webkit-box;
    margin-top: 3px;
    color: #68716b;
    font-size: 12px;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.yin-acc-btn em {
    width: 19px;
    height: 19px;
    font-size: 14px;
    background: transparent;
}

.yin-acc-panel {
    padding: 9px 10px 10px 72px;
    border: 1px solid #b77b2720;
    border-top: 0;
    border-radius: 0 0 7px 7px;
    background: #f7f3ea;
}

.yin-acc-panel li {
    margin-bottom: 5px;
    font-size: 12px;
    line-height: 1.45;
}

.yin-schedule {
    height: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #b77b2730;
    border-radius: 10px;
    background: #fffdf8;
}

.yin-schedule h2 {
    flex: 0 0 auto;
    margin: 0;
    padding: 12px 14px 9px;
    border-bottom: 1px solid #b77b2726;
    font-size: 18px;
    text-transform: uppercase;
}

.yin-schedule-grid {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40%;
    gap: 0;
    min-height: 0;
    padding: 7px;
}

.yin-schedule-grid > div {
    gap: 5px;
    padding: 4px 8px 6px 5px;
}

.yin-schedule-grid > div > div {
    grid-template-columns: 103px minmax(0, 1fr);
    gap: 6px;
}

.yin-schedule time {
    min-height: 22px;
    padding: 4px 5px;
    border-radius: 4px;
    font-size: 9px;
    white-space: nowrap;
}

.yin-schedule span {
    font-size: 12px;
    line-height: 1.25;
}

.yin-schedule-grid > img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    border-radius: 5px;
}

/* ============================================================
   CALENDAR + ACCOMMODATION — EQUAL HEIGHT
   ============================================================ */

.yin-booking-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.yin-calendar,
.yin-accommodation {
    height: auto;
    min-height: 100%;
    align-self: stretch;
}

.yin-accommodation {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

.yin-accommodation > header {
    flex: 0 0 auto;
    padding: 15px 16px 10px;
    border-bottom: 1px solid #b77b2726;
}

.yin-accommodation h2 {
    font-size: 26px;
}

.yin-rooms {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 10px 10px;
    align-items: stretch;
}

.yin-rooms article {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.yin-rooms img {
    width: 100%;
    height: 115px;
    flex: 0 0 115px;
    object-fit: cover;
}

.yin-rooms h3 {
    margin: 8px 4px 2px;
    font-size: 11px;
}

.yin-rooms small {
    min-height: 30px;
    padding: 0 3px;
    font-size: 12px;
}

.yin-rooms strong {
    margin-top: auto;
    font-size: 22px;
}

.yin-rooms del {
    padding-bottom: 7px;
    font-size: 10px;
}

.room-features {
    flex: 0 0 auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin: 0;
    padding: 10px;
    border-top: 1px solid #b77b2726;
    background: #faf7f0;
}

.room-features span {
    font-size: 12px;
    line-height: 1.3;
}

/* Calendar supporting text */
.yin-calendar header p {
    font-size: 14px;
}

.yin-calendar header small,
.yin-calendar label,
.yin-batch-top small,
.yin-summary small,
.yin-batch-bottom small {
    font-size: 12px;
}

.yin-batch-top h3 {
    font-size: 22px;
}

.yin-day small {
    font-size: 12px;
}

.yin-day strong {
    font-size: 21px;
}

.yin-day em {
    font-size: 10px;
}

.yin-summary strong {
    font-size: 12px;
}

.yin-batch-bottom em {
    font-size: 11px;
}

.yin-note {
    font-size: 12px;
    line-height: 1.5;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1050px) {
    .yin-main-grid {
        grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
    }

    .yin-acc-btn {
        grid-template-columns: 24px 30px minmax(0, 1fr) 20px;
        gap: 4px;
    }

    .yin-acc-btn small {
        font-size: 11px;
    }

    .yin-schedule-grid {
        grid-template-columns: minmax(0, 1fr) 38%;
    }

    .yin-schedule-grid > div > div {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .yin-schedule time {
        font-size: 8px;
    }

    .yin-schedule span {
        font-size: 11px;
    }
}

@media (max-width: 900px) {
    .yin-main-grid,
    .yin-booking-grid {
        grid-template-columns: 1fr;
    }

    .yin-schedule {
        height: auto;
        min-height: 0;
    }

    .yin-schedule-grid {
        grid-template-columns: minmax(0, 1fr) 38%;
        min-height: 330px;
    }

    .yin-accommodation {
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .yin-accordion {
        grid-template-columns: 1fr;
    }

    .yin-acc-btn {
        grid-template-columns: 27px minmax(0, 1fr) 20px;
        min-height: 64px;
    }

    .yin-acc-btn::before {
        display: none;
    }

    .yin-acc-btn > b {
        width: 27px;
    }

    .yin-acc-btn small {
        display: block;
        font-size: 12px;
        -webkit-line-clamp: 2;
    }

    .yin-acc-panel {
        padding: 10px 10px 11px 42px;
    }

    .yin-schedule-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .yin-schedule-grid > img {
        height: 220px;
        min-height: 220px;
    }

    .yin-schedule span {
        font-size: 12px;
    }

    .yin-schedule time {
        font-size: 8px;
    }

    .yin-rooms {
        grid-template-columns: 1fr;
    }

    .yin-rooms img {
        height: 165px;
        flex-basis: 165px;
    }

    .room-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ============================================================
   FINAL YIN CURRICULUM / SCHEDULE REVISION
   - Curriculum area = 70%
   - Daily schedule = 30%
   - Schedule image removed
   - Accordion uses independent columns so opening one item
     does NOT create blank row space beside it.
   ============================================================ */

.yin-main-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 70fr) minmax(280px, 30fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
}

/* Independent masonry-like columns */
.yin-accordion {
    width: 100% !important;
    min-width: 0 !important;

    display: block !important;

    column-count: 2 !important;
    column-gap: 10px !important;
    column-fill: balance !important;

    padding: 10px !important;

    border: 1px solid #e3ddd2 !important;
    border-radius: 10px !important;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.78),
            rgba(248,244,235,.82)
        ) !important;
}

.yin-acc-item {
    width: 100% !important;
    min-width: 0 !important;

    display: block !important;

    margin: 0 0 8px !important;

    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
}

.yin-acc-item:nth-child(6) {
    break-before: column !important;
    -webkit-column-break-before: always !important;
}

/* Prevent the old grid rules from shrinking the content */
.yin-acc-btn {
    width: 100% !important;
    min-width: 0 !important;

    display: grid !important;
    grid-template-columns: 28px 27px minmax(0,1fr) 20px !important;

    align-items: center !important;
    gap: 6px !important;

    min-height: 69px !important;

    padding: 8px !important;
}

.yin-acc-btn::before {
    width: 27px !important;
    height: 27px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;
}

.yin-acc-btn > b {
    width: 27px !important;
    min-width: 27px !important;
    height: 27px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;
}

.yin-acc-btn > span {
    width: auto !important;
    min-width: 0 !important;

    display: block !important;

    padding: 0 !important;
}

.yin-acc-btn strong {
    display: block !important;
    width: auto !important;

    font-size: 12px !important;
    line-height: 1.25 !important;
}

.yin-acc-btn small {
    display: -webkit-box !important;

    width: auto !important;
    min-width: 0 !important;

    margin-top: 3px !important;

    font-size: 11px !important;
    line-height: 1.35 !important;

    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    overflow: hidden !important;
}

.yin-acc-btn em {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;

    justify-self: end !important;
}

.yin-acc-panel {
    width: 100% !important;

    padding: 10px 12px 11px 62px !important;

    font-size: 12px !important;

    break-inside: avoid !important;
}

.yin-acc-panel li {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

/* ============================================================
   DAILY SCHEDULE — 30% / NO IMAGE
   ============================================================ */

.yin-schedule {
    width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    height: 100% !important;

    overflow: hidden !important;
}

.yin-schedule h2 {
    flex: 0 0 auto !important;

    padding: 13px 10px !important;

    font-size: 17px !important;

    text-align: center !important;
}

.yin-schedule-grid {
    width: 100% !important;
    min-width: 0 !important;

    display: block !important;

    padding: 9px !important;
}

.yin-schedule-grid > div {
    width: 100% !important;
    min-width: 0 !important;

    display: grid !important;

    gap: 6px !important;

    padding: 0 !important;
}

.yin-schedule-grid > div > div {
    width: 100% !important;
    min-width: 0 !important;

    display: grid !important;

    grid-template-columns: minmax(92px, 108px) minmax(0,1fr) !important;

    align-items: center !important;

    gap: 7px !important;
}

.yin-schedule time {
    width: 100% !important;

    min-height: 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;

    font-size: 8px !important;
}

.yin-schedule span {
    width: auto !important;
    min-width: 0 !important;

    font-size: 11px !important;
    line-height: 1.3 !important;

    white-space: normal !important;
}

/* Hide the reference image completely */
.yin-schedule-grid > img,
.yin-schedule-grid img {
    display: none !important;
}

/* ============================================================
   BOOKING / ACCOMMODATION — KEEP PRENATAL EQUAL HEIGHT
   ============================================================ */

.yin-booking-grid {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr) !important;

    gap: 16px !important;

    align-items: stretch !important;
}

.yin-calendar,
.yin-accommodation {
    min-width: 0 !important;
    height: 100% !important;
    align-self: stretch !important;
}

.yin-accommodation {
    display: flex !important;
    flex-direction: column !important;

    overflow: hidden !important;
}

.yin-rooms {
    flex: 1 1 auto !important;

    display: grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap: 8px !important;

    align-items: stretch !important;
}

.yin-rooms article {
    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;
}

.yin-rooms img {
    width: 100% !important;

    height: 115px !important;
    flex: 0 0 115px !important;

    object-fit: cover !important;
}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .yin-main-grid {
        grid-template-columns: 1fr !important;
    }

    .yin-accordion {
        column-count: 2 !important;
    }

    .yin-schedule {
        height: auto !important;
    }

    .yin-booking-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .yin-accordion {
        column-count: 1 !important;
        column-gap: 0 !important;
    }

    .yin-acc-item:nth-child(6) {
        break-before: auto !important;
    }

    .yin-acc-btn {
        grid-template-columns:
            27px
            27px
            minmax(0,1fr)
            20px !important;

        min-height: 64px !important;
    }

    .yin-acc-btn strong {
        font-size: 12px !important;
    }

    .yin-acc-btn small {
        font-size: 12px !important;
    }

    .yin-acc-panel {
        padding:
            10px
            10px
            11px
            55px !important;
    }

    .yin-schedule-grid {
        padding: 9px !important;
    }

    .yin-schedule-grid > div > div {
        grid-template-columns:
            minmax(100px,110px)
            minmax(0,1fr) !important;
    }

    .yin-schedule span {
        font-size: 12px !important;
    }

    .yin-schedule time {
        font-size: 8px !important;
    }

    .yin-rooms {
        grid-template-columns: 1fr !important;
    }

    .yin-rooms img {
        height: 165px !important;
        flex-basis: 165px !important;
    }
}



/* ============================================================
   FINAL FAQ FIX — INDEPENDENT DESKTOP COLUMNS
   Prevents an opened answer from creating empty space beside it.
   ============================================================ */

.yin-faq-grid {
    width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px 14px !important;
    align-items: start !important;
}

.yin-faq-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
}

.yin-faq-column > div {
    width: 100%;
    min-width: 0;
    align-self: flex-start;
}

.yin-faq-btn {
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
}

.yin-faq-answer {
    width: 100%;
    min-width: 0;
}

.yin-faq-answer[hidden] {
    display: none !important;
}

@media (max-width: 650px) {
    .yin-faq-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .yin-faq-column {
        gap: 8px;
    }
}

/* ============================================================
   ADI YOGPEETH — YIN YOGA TTC
   PREMIUM DAILY SCHEDULE
   ============================================================
   Purpose:
   - Premium editorial schedule design
   - 70% curriculum / 30% schedule desktop layout
   - No schedule image
   - Vertical timeline presentation
   - Green time capsules
   - Gold accent for meals and breaks
   - Responsive desktop, tablet and mobile
   ============================================================ */


/* ============================================================
   01. DAILY SCHEDULE — MAIN CARD
   ============================================================ */

.yin-schedule {
    position: relative;

    width: 100%;
    min-width: 0;

    overflow: hidden;

    border: 1px solid rgba(183, 123, 39, 0.22);
    border-radius: 14px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(183, 123, 39, 0.09),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #fffdf8 0%,
            #f7f2e8 100%
        );

    box-shadow:
        0 18px 45px rgba(27, 57, 45, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}


/* Gold decorative line across the top */

.yin-schedule::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;
    right: 28px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c28a38,
            transparent
        );

    opacity: 0.75;
}


/* ============================================================
   02. SCHEDULE HEADER
   ============================================================ */

.yin-schedule-header {
    position: relative;

    padding:
        18px
        18px
        8px;

    text-align: center;
}


/* Small premium eyebrow */

.yin-schedule-eyebrow {
    display: block;

    margin-bottom: 5px;

    color: #b77b27;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 0.18em;

    line-height: 1.2;

    text-transform: uppercase;
}


/* Main heading */

.yin-schedule-header h2 {
    margin: 0;

    color: #173f32;

    font-family:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif;

    font-size: 27px;
    font-weight: 500;

    line-height: 1.05;

    text-transform: none;
}


/* Subtitle */

.yin-schedule-header p {
    margin:
        5px
        0
        0;

    color: #747b76;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 400;

    line-height: 1.4;
}


/* ============================================================
   03. DECORATIVE DIVIDER
   ============================================================ */

.yin-schedule-divider {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    max-width: 110px;

    margin:
        9px
        auto
        5px;
}


.yin-schedule-divider span {
    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(183, 123, 39, 0.55)
        );
}


.yin-schedule-divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(183, 123, 39, 0.55),
            transparent
        );
}


.yin-schedule-divider i {
    color: #b77b27;

    font-size: 15px;
    font-style: normal;

    line-height: 1;
}


/* ============================================================
   04. TIMELINE WRAPPER
   ============================================================ */

.yin-schedule-timeline {
    position: relative;

    padding:
        5px
        13px
        10px;
}


/* Vertical gold timeline */

.yin-schedule-timeline::before {
    content: "";

    position: absolute;

    top: 15px;
    bottom: 15px;

    left: 103px;

    width: 1px;

    background:
        linear-gradient(
            to bottom,
            rgba(183, 123, 39, 0.12),
            rgba(183, 123, 39, 0.45),
            rgba(183, 123, 39, 0.12)
        );
}


/* ============================================================
   05. SCHEDULE ITEM
   ============================================================ */

.yin-schedule-item {
    position: relative;

    display: grid;

    grid-template-columns:
        78px
        28px
        minmax(0, 1fr);

    align-items: center;

    min-width: 0;
    min-height: 40px;

    margin-bottom: 3px;

    padding:
        2px
        0;
}


.yin-schedule-item:last-child {
    margin-bottom: 0;
}


/* ============================================================
   06. TIME CAPSULE
   ============================================================ */

.yin-schedule-time {
    width: 76px;
    min-width: 76px;

    height: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding:
        0
        4px;

    border-radius: 5px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #173f32,
            #285747
        );

    box-shadow:
        0 3px 8px rgba(23, 63, 50, 0.13);

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 7px;
    font-weight: 800;

    line-height: 1;

    white-space: nowrap;
}


/* ============================================================
   07. TIMELINE NODE
   ============================================================ */

.yin-schedule-node {
    position: relative;

    z-index: 2;

    width: 28px;
    height: 28px;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* Gold timeline dot */

.yin-schedule-node::before {
    content: "";

    position: absolute;

    width: 9px;
    height: 9px;

    border:
        2px solid
        #fffdf8;

    border-radius: 50%;

    background: #b77b27;

    box-shadow:
        0 0 0 1px rgba(183, 123, 39, 0.45),
        0 2px 5px rgba(183, 123, 39, 0.15);
}


/*
   The icon text can remain in the HTML for semantic flexibility,
   but the premium desktop design uses the timeline dot.
*/

.yin-schedule-node span {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


/* ============================================================
   08. ACTIVITY CONTENT
   ============================================================ */

.yin-schedule-content {
    min-width: 0;

    padding:
        6px
        8px;

    border:
        1px solid
        rgba(183, 123, 39, 0.10);

    border-radius: 6px;

    background:
        rgba(255, 255, 255, 0.58);

    box-shadow:
        0 2px 7px rgba(35, 52, 44, 0.025);
}


.yin-schedule-content strong {
    display: block;

    margin: 0;

    color: #263d34;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 700;

    line-height: 1.25;
}


.yin-schedule-content small {
    display: block;

    margin-top: 2px;

    color: #7a817c;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 7.5px;
    font-weight: 400;

    line-height: 1.3;
}


/* ============================================================
   09. MEAL / BREAK HIGHLIGHT
   ============================================================ */

.yin-schedule-break .yin-schedule-content {
    background:
        linear-gradient(
            135deg,
            rgba(183, 123, 39, 0.08),
            rgba(255, 255, 255, 0.62)
        );

    border-color:
        rgba(183, 123, 39, 0.18);
}


.yin-schedule-break .yin-schedule-time {
    background:
        linear-gradient(
            135deg,
            #b77b27,
            #ca974b
        );
}


/* ============================================================
   10. HOVER INTERACTION
   ============================================================ */

.yin-schedule-item:hover .yin-schedule-content {
    border-color:
        rgba(183, 123, 39, 0.28);

    background:
        rgba(255, 255, 255, 0.88);

    transform:
        translateX(2px);

    transition:
        all 0.2s ease;
}


.yin-schedule-item:hover .yin-schedule-node::before {
    background: #173f32;

    transition:
        background 0.2s ease;
}


/* ============================================================
   11. FOOTER PHILOSOPHY STRIP
   ============================================================ */

.yin-schedule-footer {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    margin:
        4px
        12px
        12px;

    padding:
        9px
        8px;

    border:
        1px solid
        rgba(183, 123, 39, 0.12);

    border-radius: 8px;

    background:
        rgba(235, 239, 225, 0.72);
}


.yin-schedule-footer div {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 4px;

    min-width: 0;
}


.yin-schedule-footer span {
    color: #47735d;

    font-size: 13px;

    line-height: 1;
}


.yin-schedule-footer strong {
    color: #34483e;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 7.5px;
    font-weight: 700;

    line-height: 1;
}


.yin-schedule-footer i {
    width: 1px;
    height: 15px;

    background:
        rgba(80, 108, 91, 0.25);
}


/* ============================================================
   12. DESKTOP 70 / 30 LAYOUT
   ============================================================ */

.yin-main-grid {
    grid-template-columns:
        minmax(0, 70%)
        minmax(0, 30%);
}


/* ============================================================
   13. TABLET
   ============================================================ */

@media (max-width: 1100px) {

    .yin-main-grid {
        grid-template-columns:
            minmax(0, 68%)
            minmax(0, 32%);
    }

    .yin-schedule-header h2 {
        font-size: 24px;
    }

    .yin-schedule-item {
        grid-template-columns:
            70px
            23px
            minmax(0, 1fr);
    }

    .yin-schedule-time {
        width: 68px;
        min-width: 68px;

        font-size: 6.5px;
    }

    .yin-schedule-timeline::before {
        left: 92px;
    }

    .yin-schedule-content strong {
        font-size: 8px;
    }

    .yin-schedule-content small {
        font-size: 7px;
    }
}


/* ============================================================
   14. MOBILE / TABLET
   ============================================================ */

@media (max-width: 900px) {

    .yin-main-grid {
        grid-template-columns: 1fr;
    }

    .yin-schedule-header {
        padding-top: 20px;
    }

    .yin-schedule-item {
        grid-template-columns:
            86px
            28px
            minmax(0, 1fr);
    }

    .yin-schedule-time {
        width: 84px;
        min-width: 84px;

        font-size: 7.5px;
    }

    .yin-schedule-timeline::before {
        left: 114px;
    }

    .yin-schedule-content strong {
        font-size: 10px;
    }

    .yin-schedule-content small {
        font-size: 8px;
    }
}


/* ============================================================
   15. SMALL MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .yin-schedule {
        border-radius: 12px;
    }

    .yin-schedule-header {
        padding:
            17px
            14px
            8px;
    }

    .yin-schedule-header h2 {
        font-size: 24px;
    }

    .yin-schedule-header p {
        font-size: 8px;
    }

    .yin-schedule-timeline {
        padding:
            5px
            10px
            9px;
    }

    .yin-schedule-item {
        grid-template-columns:
            82px
            23px
            minmax(0, 1fr);

        min-height: 39px;
    }

    .yin-schedule-time {
        width: 80px;
        min-width: 80px;

        height: 23px;

        font-size: 7px;
    }

    .yin-schedule-timeline::before {
        left: 103px;
    }

    .yin-schedule-node {
        width: 23px;
    }

    .yin-schedule-content {
        padding:
            6px
            7px;
    }

    .yin-schedule-content strong {
        font-size: 9px;
    }

    .yin-schedule-content small {
        font-size: 7.5px;
    }

    .yin-schedule-footer {
        gap: 8px;
    }
}

/* ============================================================
   YIN YOGA TTC — ACCOMMODATION
   PRENATAL PAGE DESIGN MATCH
   ============================================================ */


/* Main accommodation panel */

section.yin-accommodation {
    position: relative !important;

    width: 100% !important;
    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    overflow: hidden !important;

    padding: 0 !important;

    border: 1px solid #dfd1ba !important;
    border-radius: 13px !important;

    background: #fbfaf6 !important;

    box-shadow:
        0 10px 30px rgba(29, 52, 43, 0.06) !important;
}


/* Header */

section.yin-accommodation > header {
    position: relative !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;

    min-height: 105px !important;

    padding:
        25px
        21px
        15px !important;

    border-bottom: 1px solid #e3d8c5 !important;

    background:
        linear-gradient(
            180deg,
            #fffdf9 0%,
            #fbfaf6 100%
        ) !important;
}

.yin-accommodation-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.yin-accommodation-eyebrow {
    color: #a86e20;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .18em;
    line-height: 1;

    text-transform: uppercase;
}

section.yin-accommodation > header h2 {
    margin: 0 !important;

    color: #173f32 !important;

    font-family:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 31px !important;
    font-weight: 500 !important;

    line-height: 1 !important;
}

section.yin-accommodation > header > a {
    display: inline-flex !important;

    align-items: center !important;

    margin-bottom: 3px !important;

    color: #173f32 !important;

    font-family:
        Manrope,
        Arial,
        sans-serif !important;

    font-size: 9px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    text-decoration: none !important;

    border-bottom: 1px solid #b9853a !important;

    padding-bottom: 4px !important;
}


/* Room grid */

section.yin-accommodation > .yin-rooms {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;

    padding:
        12px
        12px
        10px !important;

    align-items: stretch !important;
}


/* Room card */

section.yin-accommodation .yin-room-card {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    min-width: 0 !important;

    overflow: hidden !important;

    border: 1px solid #ded3c1 !important;
    border-radius: 8px !important;

    background: #ffffff !important;

    box-shadow:
        0 3px 10px rgba(29, 52, 43, 0.035) !important;
}


/* Image */

.yin-room-image {
    position: relative;

    width: 100%;
    height: 137px;

    overflow: hidden;
}

.yin-room-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center !important;
}


/* Room badge */

.yin-room-badge {
    position: absolute;

    top: 9px;
    left: 10px;

    z-index: 3;

    padding: 5px 7px;

    border-radius: 4px;

    color: #ffffff;

    background: #173f32;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 7px;
    font-weight: 800;

    line-height: 1;

    text-transform: uppercase;
}


/* Recommended badge */

.yin-room-recommended-badge {
    position: absolute;

    top: 9px;
    right: 9px;

    z-index: 3;

    padding: 5px 7px;

    border-radius: 4px;

    color: #ffffff;

    background: #c18b3b;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 7px;
    font-weight: 800;

    line-height: 1;
}


/* Room body */

.yin-room-body {
    display: flex;

    flex-direction: column;

    flex: 1 1 auto;

    min-width: 0;

    padding:
        10px
        12px
        12px;
}

.yin-room-body h3 {
    margin: 0;

    color: #39403d;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 14px;
    font-weight: 700;

    line-height: 1.25;

    text-align: center;
}

.yin-room-occupancy {
    margin:
        7px
        0
        0;

    color: #69716c;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1.3;

    text-align: center;
}


/* Room features */

.yin-room-features {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        0
        8px;

    margin:
        13px
        0
        10px;

    padding:
        8px
        0;

    border-top: 1px solid #e3d8c6;
    border-bottom: 1px solid #e3d8c6;
}

.yin-room-features span {
    display: flex;

    align-items: center;

    min-width: 0;

    gap: 7px;

    padding: 5px 0;

    color: #6a716d;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

.yin-room-features i {
    flex: 0 0 auto;

    color: #b47b2d;

    font-size: 10px;

    font-style: normal;

    line-height: 1;
}


/* Price box */

.yin-room-price {
    margin-top: auto;

    padding:
        10px
        8px
        8px;

    border:
        1px solid
        #e5c999;

    border-radius: 7px;

    background:
        linear-gradient(
            145deg,
            #fff8e9,
            #f7edd9
        );

    text-align: center;
}

.yin-room-price small {
    display: block;

    margin: 0 0 4px;

    color: #8a8174;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1;
}

.yin-room-price > div {
    display: flex;

    align-items: baseline;
    justify-content: center;

    gap: 7px;
}

.yin-room-price del {
    color: #9b9b96;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 10px;

    line-height: 1;
}

.yin-room-price strong {
    color: #173f32;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 28px;
    font-weight: 600;

    line-height: .9;
}


/* Bottom feature strip */

.yin-accommodation-features {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    width: 100%;

    min-height: 48px;

    border-top: 1px solid #ded6c9;

    background: #f4f4ed;
}

.yin-accommodation-features span {
    display: flex;

    align-items: center;
    justify-content: center;

    padding: 8px 5px;

    color: #53645c;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1.2;

    text-align: center;
}

.yin-accommodation-features span + span {
    border-left: 1px solid #d7d7cf;
}


/* Description */

.yin-accommodation-description {
    margin:
        0
        8px
        12px;

    padding:
        9px
        12px;

    border:
        1px solid
        #ddd5c8;

    border-radius: 6px;

    color: #66716b;

    background: #ffffff;

    font-family:
        Manrope,
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 400;

    line-height: 1.35;

    text-align: left;
}


/* Height matching */

.yin-booking-grid {
    align-items: stretch !important;
}

.yin-calendar,
.yin-accommodation {
    align-self: stretch !important;
}


/* Tablet */

@media (max-width: 1050px) {

    section.yin-accommodation > .yin-rooms {
        gap: 7px !important;
    }

    .yin-room-image {
        height: 120px;
    }

    .yin-room-body h3 {
        font-size: 12px;
    }

    .yin-room-features span {
        font-size: 8px;
    }

    .yin-room-price strong {
        font-size: 25px;
    }

    .yin-accommodation-features span {
        font-size: 8px;
    }
}


/* Mobile */

@media (max-width: 900px) {

    section.yin-accommodation {
        height: auto !important;
    }

    section.yin-accommodation > header {
        min-height: 92px !important;
    }

    section.yin-accommodation > .yin-rooms {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    .yin-room-image {
        height: 120px;
    }
}


/* Small mobile */

@media (max-width: 620px) {

    section.yin-accommodation > header {
        min-height: 85px !important;

        padding:
            23px
            14px
            13px !important;
    }

    section.yin-accommodation > header h2 {
        font-size: 27px !important;
    }

    section.yin-accommodation > header > a {
        font-size: 8px !important;
    }

    section.yin-accommodation > .yin-rooms {
        grid-template-columns: 1fr !important;

        gap: 10px !important;
    }

    .yin-room-image {
        height: 165px;
    }

    .yin-room-body h3 {
        font-size: 14px;
    }

    .yin-room-features span {
        font-size: 9px;
    }

    .yin-room-price strong {
        font-size: 28px;
    }

    .yin-accommodation-features {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .yin-accommodation-features span {
        min-height: 42px;
    }

    .yin-accommodation-features span:nth-child(3),
    .yin-accommodation-features span:nth-child(4) {
        border-top: 1px solid #d7d7cf;
    }

    .yin-accommodation-features span:nth-child(3) {
        border-left: 0;
    }

    .yin-accommodation-description {
        font-size: 8.5px;
    }
}
