/* Three compact cards on desktop, two on tablets, one on a phone. */
.catalog-layout{grid-template-columns:270px minmax(0,1fr);gap:24px}
.tour-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tour-card{border:1px solid #d6e2ec;border-radius:20px;background:#fff;box-shadow:0 7px 24px #1e46640a;display:flex;flex-direction:column;min-width:0}
.tour-image{aspect-ratio:1.55}
.tour-card-body{padding:20px 17px;display:flex;flex:1;flex-direction:column;min-width:0}
.tour-card h3{font-size:20px;line-height:1.28;margin-bottom:13px;letter-spacing:-.035em}
.tour-card .tour-meta{font-size:11px;line-height:1.5;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tour-card .tour-meta .icon{width:14px;height:14px}.tour-card .tour-meta>span{min-width:0}
.tour-card .tour-excerpt{font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;width:100%;flex:0 0 auto;min-height:4.8em;max-height:4.8em;margin-bottom:17px}
.tour-dates{display:grid;gap:8px;margin-top:auto}
.date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid #d7e4ee;border-radius:12px;background:linear-gradient(110deg,#fff,#f7fafb);margin:0;position:relative}
.date-row--hot{border-color:#ecdcc8;background:linear-gradient(105deg,#fffbf5,#fff)}
.card-date-copy{min-width:0}.card-date-stamp{display:flex;align-items:center;gap:7px;color:#244966;line-height:1.2}
.card-date-stamp strong{font-size:24px;line-height:1;font-weight:800;letter-spacing:-.045em}
.card-date-stamp>span{font-size:11px;line-height:1.3;color:#52718a;overflow-wrap:anywhere;max-width:70px}
.date-row .card-departure-note{display:block;margin-top:6px;font-size:10px;line-height:1.4;color:#63798b}
.date-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:16px;line-height:1.25;color:#164c82;white-space:nowrap}
.date-current{display:flex;align-items:center;gap:4px;font-weight:800;letter-spacing:-.035em}
.date-current>.icon{width:15px;height:17px;fill:#ffe0c7;color:#d75716}
.date-price.is-hot .date-current{color:#bd531c}.date-price del{display:block;font-size:10px;font-weight:500;color:#8796a1;line-height:1.2;margin:0}
.date-price>small{font-size:9px;font-weight:500;line-height:1.3;color:#7b8b97}
.more-dates{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:#426d92;padding:7px 0}.more-dates .icon{width:15px;height:15px;flex-shrink:0}
.tour-details{margin-top:18px;min-height:42px;padding:9px 14px;width:100%;font-size:13px}
.tour-type{font-size:10px;padding:6px 9px}
@media(max-width:1199px){.catalog-layout{grid-template-columns:260px minmax(0,1fr);gap:22px}.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-card h3{font-size:21px}}
@media(max-width:1023px){.catalog-layout{grid-template-columns:1fr}.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tour-card-body{padding:21px}.tour-card .tour-excerpt{font-size:14px}.card-date-stamp strong{font-size:25px}.card-date-stamp>span{font-size:12px}.date-price{font-size:18px}}
@media(max-width:600px){.tour-grid{grid-template-columns:1fr;gap:24px}.tour-card h3{font-size:23px}.tour-card-body{padding:21px}.tour-card .tour-meta{font-size:12px;gap:12px}.tour-card .tour-excerpt{font-size:14px}.tour-image{aspect-ratio:1.6}.date-row{padding:12px 14px}.card-date-stamp strong{font-size:28px}.card-date-stamp>span{font-size:13px}.date-price{font-size:19px}.date-price>small{font-size:10px}.date-price del{font-size:11px}.tour-details{font-size:15px;min-height:46px}.tour-type{font-size:11px}.more-dates{font-size:13px}}
@media(max-width:374px){.tour-card-body{padding:17px}.tour-card h3{font-size:21px}.date-row{padding:10px 12px}.card-date-stamp strong{font-size:25px}.card-date-stamp>span{font-size:12px}.date-price{font-size:17px}}
.catalog-search:focus-within{border-color:#74add9;outline:2px solid #bcdcf4;outline-offset:2px;box-shadow:0 0 0 4px #edf6fc}.catalog-search input:focus,.catalog-search input:focus-visible{outline:0;box-shadow:none}

.month-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.month-chips button{width:100%}

/* Native disclosure keeps all months available without adding a popup or library. */
.month-picker-more{margin:-4px 0 14px;min-width:0;border:1px solid #d5e4ef;border-radius:12px;background:#f8fbfe;overflow:hidden}
.month-picker-more>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:10px 12px;list-style:none;cursor:pointer;font-size:13px;font-weight:600;line-height:1.35;color:#38678e;user-select:none}
.month-picker-more>summary::-webkit-details-marker{display:none}
.month-picker-more>summary::marker{content:''}
.month-picker-more>summary:hover{background:#edf5fb;color:var(--blue)}
.month-picker-more>summary:focus-visible{outline:2px solid #74add9;outline-offset:-3px;border-radius:11px}
.month-picker-more>summary .icon{width:18px;height:18px;flex:none}
.month-picker-close,.month-picker-more[open] .month-picker-open{display:none}
.month-picker-more[open] .month-picker-close{display:inline}
.month-picker-more[open]>summary .icon{transform:rotate(180deg)}
.month-picker-list{padding:0 10px 12px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a8c4d9 transparent}
.month-picker-list .month-chips{margin-bottom:0;gap:6px}
.month-picker-list .month-chips button{min-width:0;min-height:40px;padding:9px 6px;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.month-picker-list button:focus-visible{outline:2px solid #74add9;outline-offset:1px}
@media(max-width:600px){.month-picker-more>summary{min-height:44px;font-size:14px}.month-picker-list .month-chips button{min-height:44px}.month-picker-list{max-height:300px}}
