/* Design C v2: responsive layout based on the supplied desktop/mobile references.
   The app theme still owns global shop/account/checkout UI. */
body.travego-design-c { background:#fff; color:#172033; }
body.travego-design-c .travego-home-hero {
    min-height:360px; padding:38px max(26px,calc((100vw - 1350px)/2));
    background:linear-gradient(90deg,rgba(9,40,66,.65),rgba(12,40,70,.15) 65%),url('/brand/travego-design-c/travego-lake.png') center / cover;
}
body.travego-design-c .travego-home-hero-inner { max-width:650px; }
body.travego-design-c .travego-home-hero h1 { font-size:clamp(2.7rem,4.4vw,4.6rem); margin:4px 0 10px; letter-spacing:-.04em; }
body.travego-design-c .travego-home-hero p { max-width:475px; line-height:1.45; }
body.travego-design-c .travego-hero-search { margin-top:24px; }
body.travego-design-c .travego-hero-search .travego-hero-search-form {
    min-height:48px; max-width:580px; border-radius:50px; box-shadow:0 9px 24px #0003; padding:4px;
}
body.travego-design-c .travego-hero-search .travego-hero-search-form input { font-size:14px; }
body.travego-design-c .travego-hero-search .travego-hero-search-form button { border-radius:50px; padding:8px 24px; font-size:14px; }
body.travego-design-c .travego-travel-types {
    max-width:1350px; margin:10px auto 25px; gap:0; padding:0 20px;
}
body.travego-design-c-home .travego-travel-type { border:0; border-right:1px solid #e8e5e5; border-radius:0; box-shadow:none; display:flex; flex-direction:column; text-align:center; justify-content:center; padding:14px; gap:4px; }
body.travego-design-c-home .travego-travel-type:last-child { border-right:0; }
body.travego-design-c-home .travego-travel-type i { font-size:30px; }
body.travego-design-c .travego-travel-type strong { color:#993333; }
body.travego-design-c-category .travego-category-hero { width:100%; overflow:hidden; background:#123d5d; }
body.travego-design-c-category .travego-category-hero img { display:block; width:100%; height:auto; }
body.travego-design-c-category .breadcrumb { max-width:1350px; margin:16px auto; padding:0 22px; }
body.travego-design-c-category .travego-travel-types { margin:12px auto 24px; }
body.travego-design-c-category .travego-travel-type { min-height:74px; }
body.travego-design-c .content-layout { max-width:1350px; margin:0 auto; padding:0 16px; }
body.travego-design-c .main-content { min-width:0; width:100%; }
body.travego-design-c .content-header { border:0; border-radius:0; box-shadow:none; padding:10px 0 14px; margin:0 0 10px; }
body.travego-design-c .content-header h2 { color:#172033; }
body.travego-design-c .main-content .grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
body.travego-design-c .main-content .grid > div { min-width:0; }
body.travego-design-c .grid > div > a { display:block; height:100%; color:inherit; text-decoration:none; }
body.travego-design-c .grid .product-card { position:relative; border:1px solid #e7e7ea; box-shadow:0 5px 16px #14213d0b; overflow:hidden; display:flex; flex-direction:column; }
body.travego-design-c .product-card .travego-card-media { width:100%; position:relative; overflow:hidden; }
body.travego-design-c .product-card .travego-card-media img { width:100%; aspect-ratio:1.55; height:auto; object-fit:cover; display:block; }
body.travego-design-c .product-card .card-content { display:flex; flex-direction:column; flex:1; min-width:0; padding:24px 12px 12px; }
body.travego-design-c .product-card .card-content > span:not(.travego-card-action) { margin:0 0 6px; padding:0; order:1; font-size:15px; line-height:1.35; color:#172033; font-weight:800; }
body.travego-design-c .product-card .price-box { order:0; position:absolute; top:auto; bottom:auto; left:50%; transform:translate(-50%,-50%); margin:0; padding:5px 12px; font-size:13px; border-radius:50px; background:#f5cb52; z-index:3; white-space:nowrap; }
body.travego-design-c .product-card .travego-card-description { order:2; margin:0 0 13px; font-size:13px; color:#4c5260; line-height:1.45; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; line-clamp:4; overflow:hidden; }
body.travego-design-c .product-card .color-dots { order:3; }
body.travego-design-c .product-card .travego-card-action { order:4; display:flex; margin:auto 0 0; padding:9px 12px; font-size:13px; text-align:center; justify-content:center; border-radius:8px; background:#993333; color:#fff; }
body.travego-design-c .product-card .discount-badge { position:absolute; top:8px; left:8px; right:auto; z-index:3; }
body.travego-design-c .travego-inspiration-title { max-width:1350px; padding:0 22px; margin:18px auto 18px; display:flex; align-items:end; justify-content:space-between; gap:14px; }
body.travego-design-c .travego-inspiration-title h2 { color:#172033; margin:0; }
body.travego-design-c .travego-inspiration-title p { margin:0 0 5px; font-size:12px; }
body.travego-design-c .travego-all-trips { color:#993333; font-weight:800; font-size:13px; white-space:nowrap; text-decoration:none; }
body.travego-design-c-home .content-header { display:none; }
body.travego-design-c-home .content-layout > aside { display:none; }
body.travego-design-c-home .home-products .grid { grid-template-columns:1.5fr 1fr; grid-template-rows:repeat(2,minmax(180px,1fr)); gap:15px; }
body.travego-design-c-home .home-products .grid > div:first-child { grid-column:1; grid-row:1 / span 2; }
body.travego-design-c-home .home-products .grid > div:nth-child(2) { grid-column:2; grid-row:1; }
body.travego-design-c-home .home-products .grid > div:nth-child(3) { grid-column:2; grid-row:2; }
body.travego-design-c-home .home-products .grid > div:nth-child(n+4) { grid-column:auto; grid-row:auto; }
body.travego-design-c-home .home-products .grid .product-card { height:100%; }
/* Category mobile uses the original mobile filter drawer. */
@media(min-width:769px) {
 body.travego-design-c-category .content-layout > .sidebar-stack { display:none; }
 body.travego-design-c-category .content-layout { display:block; }
}
@media(min-width:769px) and (max-width:1100px) {
 body.travego-design-c .main-content .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:768px) {
 body.travego-design-c .main-content .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.travego-design-c-category .travego-travel-types { display:none; }
 body.travego-design-c-home .travego-travel-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.travego-design-c-home .travego-travel-type { border-right:0; border-bottom:1px solid #eee; border-radius:12px; box-shadow:0 3px 10px #0000000c; }
 body.travego-design-c-home .travego-home-hero { min-height:300px; padding:22px 18px; }
 body.travego-design-c-home .travego-home-hero h1 { font-size:2.8rem; }
 body.travego-design-c-home .home-products .grid { grid-template-columns:1fr; grid-template-rows:auto; }
 body.travego-design-c-home .home-products .grid > div { grid-column:auto!important; grid-row:auto!important; }
 body.travego-design-c .travego-inspiration-title { align-items:start; }
}
@media(max-width:600px) {
 body.travego-design-c .main-content .grid { grid-template-columns:minmax(0,1fr); }
 body.travego-design-c .content-layout { padding:0 12px; }
 body.travego-design-c .travego-inspiration-title { padding:0 12px; }
 body.travego-design-c .travego-inspiration-title h2 { font-size:21px; }
 body.travego-design-c .travego-all-trips { font-size:11px; }
 body.travego-design-c-home .travego-home-hero { min-height:310px; }
 body.travego-design-c-home .travego-home-hero h1 { font-size:2.35rem; }
 body.travego-design-c-home .travego-home-hero p { font-size:13px; }
 body.travego-design-c-home .travego-hero-search .travego-hero-search-form { flex-wrap:nowrap; min-height:44px; }
 body.travego-design-c-home .travego-hero-search .travego-hero-search-form input { flex-basis:auto; min-width:0; padding:0 9px; font-size:12px; }
 body.travego-design-c-home .travego-hero-search .travego-hero-search-form button { width:auto; padding:8px 12px; font-size:11px; }
 body.travego-design-c .product-card .travego-card-media img { aspect-ratio:1.8; }
}
/* The media container owns the gold badge, which overlaps its bottom edge. */
body.travego-design-c .product-card .travego-card-media { overflow:visible; }
body.travego-design-c .product-card .travego-card-media .price-box { top:auto; bottom:0; transform:translate(-50%,50%); }
/* Inspiration: large journey image and two smaller images, with existing prices only. */
@media(min-width:769px) {
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .product-card { min-height:220px; border:0; }
 body.travego-design-c-home .home-products .grid > div:first-child .product-card { min-height:455px; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-media,
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-media img { height:100%; min-height:220px; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-media { position:absolute; inset:0; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-media img { object-fit:cover; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .card-content {
   position:absolute; inset:auto 0 0; z-index:2; padding:44px 16px 14px;
   background:linear-gradient(0deg,rgba(0,0,0,.86),transparent); flex-direction:row; align-items:end; flex-wrap:wrap;
 }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .card-content > span:not(.travego-card-action) { color:#fff; flex:1 1 70%; margin:0; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-description,
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .color-dots { display:none; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-action { flex:0 0 auto; margin:0; border-radius:100%; width:38px; height:38px; font-size:0; background:#fff; color:#993333; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-action i { font-size:17px; }
 body.travego-design-c-home .home-products .grid > div:nth-child(-n+3) .travego-card-media .price-box { top:10px; bottom:auto; left:10px; transform:none; }
}
