/* Shared additions: card buttons, detail page */
.card .title-link{color:inherit;text-decoration:none}.card .title-link:hover{color:var(--burgundy)}
.card-img-link{display:block}
.btns{margin-top:auto;display:grid;gap:10px}
.btn-outline{background:#fff!important;color:var(--burgundy)!important;border:2px solid var(--burgundy)}
.btn-outline:hover{background:var(--burgundy)!important;color:#fff!important}
.back{display:inline-flex;align-items:center;gap:8px;color:var(--navy-blue);font-weight:700;text-decoration:none;min-height:44px;margin-bottom:10px}
.d-head{display:grid;gap:20px;grid-template-columns:1fr;align-items:end;margin-bottom:20px}
@media(min-width:900px){.d-head{grid-template-columns:1fr 340px}}
.d-head h1{color:var(--navy-blue);font-size:2rem;line-height:1.2;margin:8px 0}
.d-head .sub{color:var(--light-text);font-weight:600}
.d-price{background:#fff;border-radius:12px;padding:18px;box-shadow:0 5px 18px rgba(0,0,0,.08);display:grid;gap:8px}
.d-price strong{color:var(--burgundy);font-size:2rem}.d-price small{color:var(--light-text)}
.expired{background:#fde8ec;color:var(--burgundy);font-weight:700;padding:6px 10px;border-radius:6px}
.gallery{display:grid;gap:10px;margin-bottom:28px}
.g-main{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#000}
.g-main img{width:100%;max-height:520px;object-fit:cover;display:block}
.g-main figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-weight:600}
.g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(min-width:640px){.g-thumbs{grid-template-columns:repeat(8,1fr)}}
.g-th{border:3px solid transparent;border-radius:8px;padding:0;overflow:hidden;cursor:pointer;background:none;min-height:56px}
.g-th img{width:100%;height:64px;object-fit:cover;display:block}.g-th.on{border-color:var(--gold)}
.d-cols{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:1024px){.d-cols{grid-template-columns:1fr 380px}}
.d-sec{background:#fff;border-radius:12px;padding:20px;box-shadow:0 5px 18px rgba(0,0,0,.06);margin-bottom:24px}
.d-sec h2{color:var(--navy-blue);font-size:1.3rem;margin-bottom:12px;border-left:5px solid var(--burgundy);padding-left:10px}
.d-sec h3{color:var(--navy-blue);font-size:1.05rem;margin:16px 0 8px}
.ticks{list-style:none}.ticks li{padding:4px 0 4px 26px;position:relative}.ticks li:before{content:"\2713";position:absolute;left:4px;color:var(--burgundy);font-weight:800}
.kv{width:100%;border-collapse:collapse}.kv th,.kv td{text-align:left;padding:10px 6px;border-bottom:1px solid #eef1f4;vertical-align:top}.kv th{color:var(--light-text);font-weight:600;width:42%}
.muted{color:var(--light-text);font-size:.9rem}.note{font-size:.8rem;color:var(--light-text);margin-top:8px}.note a{color:var(--navy-light)}
.itin{display:grid;gap:0}.it-row{display:grid;grid-template-columns:96px 1fr auto;gap:10px;padding:12px 4px;border-bottom:1px solid #eef1f4;align-items:center}
.it-row.sea{color:var(--light-text)}.it-day{font-weight:800;color:var(--navy-blue)}.it-day span{display:block;font-weight:600;font-size:.8rem;color:var(--light-text)}
.it-time{font-size:.85rem;color:var(--light-text);text-align:right}.ctry{font-size:.8rem;background:var(--light-bg);padding:2px 8px;border-radius:10px;color:var(--navy-light);margin-left:4px}
@media(max-width:480px){.it-row{grid-template-columns:76px 1fr}.it-time{grid-column:2;text-align:left}}
.cta .btn{margin-top:10px}
