/* =========================================================
   Travelcho — Premium Travel Guides Marketplace
   ========================================================= */

:root{
	--tc-navy: #10182B;
	--tc-navy-2: #1B2740;
	--tc-gold: #D9A441;
	--tc-gold-dark: #B9862E;
	--tc-white: #FFFFFF;
	--tc-bg-soft: #F7F5F1;
	--tc-text: #17181C;
	--tc-text-muted: #6B6F76;
	--tc-border: #E7E4DE;
	--tc-radius: 14px;
	--tc-radius-sm: 8px;
	--tc-shadow: 0 10px 30px rgba(16,24,43,.08);
	--tc-shadow-lg: 0 20px 50px rgba(16,24,43,.16);
	--tc-maxw: 1320px;
	--font-head: 'Playfair Display', Georgia, serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html{ overflow-x:hidden !important; }
.tc-body{ overflow-x:hidden !important; width:100% !important; }

/* Grid/flex items default to min-width:auto and refuse to shrink below their
   content's intrinsic size — this is what was forcing every card grid, the
   hero CTAs and the header actions wider than the mobile viewport. */
.tc-product-grid > *, .tc-destination-grid > *, .tc-category-grid > *,
.tc-article-grid > *, .tc-testimonial-grid > *, .tc-footer-main > *,
.tc-hero-ctas > *, .tc-header-actions > *, .tc-nav ul > *{
	min-width: 0;
}

/* reset visual noise from the parent theme on our custom regions */
.tc-body, .tc-body *{ box-sizing:border-box; }
.tc-body{ font-family: var(--font-body); color: var(--tc-text); background:var(--tc-white); -webkit-font-smoothing:antialiased; }
.tc-body h1,.tc-body h2,.tc-body h3{ font-family: var(--font-head); font-weight:700; color: var(--tc-navy); margin:0; letter-spacing:-.01em; }
.tc-body img{ display:block; max-width:100%; height:auto; }
.tc-body a{ text-decoration:none; color:inherit; }
.tc-body ul{ list-style:none; margin:0; padding:0; }
.tc-body svg{ display:block; }

/* hide legacy theme header/footer chrome if any bleeds through */
.tc-body #wpadminbar ~ #page > header.traveltour-header-wrap,
.tc-body .traveltour-footer-wrap { display:none !important; }

/* ============ HEADER ============ */
.tc-header{
	position: sticky !important; top:0; z-index: 999;
	background: rgb(16,24,43) !important;
	width:100%;
}
.tc-header-inner{
	max-width: var(--tc-maxw); margin:0 auto;
	display:flex !important; align-items:center !important; justify-content:space-between !important;
	padding: 18px 32px;
}
.tc-logo{
	font-family: var(--font-head) !important; font-weight:700; font-size:24px;
	color: var(--tc-white) !important; display:flex !important; align-items:center; gap:2px;
	text-decoration:none !important; flex-shrink:0 !important; white-space:nowrap;
}
.tc-logo-mark{ color: var(--tc-gold) !important; font-size: 26px; margin-right:2px; }
.tc-nav{ display:none !important; }
@media (min-width: 783px){ .tc-nav{ display:flex !important; } }
.tc-nav ul{ display:flex !important; gap:34px; list-style:none !important; margin:0 !important; padding:0 !important; }
.tc-nav li{ list-style:none !important; }
.tc-nav a{
	color: rgba(255,255,255,.88) !important; font-size:15px; font-weight:500;
	position:relative; padding:6px 0; transition: color .2s ease;
	text-decoration:none !important; background:none !important;
}
.tc-nav a:hover{ color: var(--tc-gold) !important; }
.tc-header-actions{ display:flex !important; align-items:center; gap:10px; flex-shrink:0 !important; }
.tc-icon-btn{
	width:38px !important; height:38px !important; min-width:38px; flex-shrink:0 !important; border-radius:50% !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
	color: var(--tc-white) !important; background:transparent !important; border:none !important; cursor:pointer;
	position:relative; transition: background .2s ease; padding:0 !important; margin:0; opacity:1 !important; visibility:visible !important;
}
.tc-icon-btn:hover{ background: rgba(255,255,255,.12) !important; }
.tc-icon-btn svg{ display:block !important; overflow:visible; flex-shrink:0; width:20px; height:20px; }
.tc-icon-btn svg *{ stroke:currentColor; }
.tc-cart-count{
	position:absolute; top:-2px; right:-2px; background: var(--tc-gold); color:#1a1200;
	font-size:10px; font-weight:700; min-width:16px; height:16px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; padding:0 3px;
}
.tc-menu-toggle{ display:flex !important; }
@media (min-width: 783px){ .tc-menu-toggle{ display:none !important; } }

/* ============ LANGUAGE SWITCHER ============ */
.tc-lang-switcher{ position:relative; flex-shrink:0; }
.tc-lang-toggle{
	display:flex !important; align-items:center; gap:7px; height:38px; padding:0 8px 0 8px !important;
	border-radius: 999px !important; border:1px solid rgba(255,255,255,.2) !important; background:rgba(255,255,255,.04) !important;
	color:#fff !important; font-family: var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:.03em;
	cursor:pointer; transition: background .22s ease, border-color .22s ease, transform .15s ease;
}
.tc-lang-toggle:hover{ background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.4) !important; }
.tc-lang-toggle:active{ transform: scale(.97); }
.tc-lang-switcher.is-open .tc-lang-toggle{ background: rgba(255,255,255,.14) !important; border-color: rgba(217,164,65,.55) !important; }
.tc-lang-toggle .tc-lang-flag{
	display:inline-flex !important; width:20px !important; height:15px !important; border-radius:3px; overflow:hidden; flex-shrink:0;
	box-shadow: 0 0 0 1px rgba(255,255,255,.35), 0 1px 2px rgba(0,0,0,.35);
}
.tc-lang-toggle .tc-lang-flag img{ display:block; width:100%; height:100%; object-fit:cover; }
.tc-lang-chevron{ flex-shrink:0; opacity:.75; transition: transform .28s cubic-bezier(.16,1,.3,1); margin-right:2px; }
.tc-lang-switcher.is-open .tc-lang-chevron{ transform: rotate(180deg); opacity:1; }

.tc-lang-menu{
	position:absolute; top: calc(100% + 12px); right:0; width:246px;
	background:#fff; border-radius:16px;
	box-shadow: 0 18px 40px -8px rgba(9,13,23,.32), 0 4px 14px rgba(9,13,23,.12), 0 0 0 1px rgba(9,13,23,.05);
	padding:10px; z-index:80;
	opacity:0; visibility:hidden; pointer-events:none;
	transform: translateY(-8px) scale(.97); transform-origin: top right;
	transition: opacity .22s cubic-bezier(.16,1,.3,1), transform .22s cubic-bezier(.16,1,.3,1), visibility .22s;
}
.tc-lang-switcher.is-open .tc-lang-menu{ opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); }
.tc-lang-menu-label{
	display:block; padding:8px 12px 10px; font-size:10.5px; font-weight:700; letter-spacing:.11em;
	text-transform:uppercase; color: var(--tc-text-muted);
}
.tc-lang-menu ul{ list-style:none !important; margin:0 !important; padding:0 !important; max-height:340px; overflow-y:auto; }
.tc-lang-menu li{ list-style:none !important; margin:0 !important; }
.tc-lang-menu a{
	display:flex !important; align-items:center; gap:11px; padding:9px 12px; border-radius:10px;
	font-size:14px; font-weight:600; line-height:1.2;
	color: var(--tc-navy) !important; text-decoration:none !important; background:none !important;
	transition: background .15s ease;
}
.tc-lang-menu a:hover{ background: var(--tc-bg-soft) !important; }
.tc-lang-menu a:hover .tc-lang-flag{ transform: scale(1.08); }
.tc-lang-menu a.is-active{ background: rgba(217,164,65,.1) !important; font-weight:700; }
.tc-lang-menu .tc-lang-flag{
	display:inline-flex !important; width:22px !important; height:16px !important; border-radius:3px; overflow:hidden; flex-shrink:0;
	box-shadow: 0 0 0 1px rgba(9,13,23,.08);
	transition: transform .2s ease;
}
.tc-lang-menu .tc-lang-flag img{ display:block; width:100%; height:100%; object-fit:cover; }
.tc-lang-name{ flex:1; }
.tc-lang-check{ flex-shrink:0; color: var(--tc-gold-dark); }

/* mobile in-menu language list */
.tc-lang-switcher-mobile{ padding: 6px 20px 20px; }
.tc-lang-switcher-mobile .tc-lang-menu-label{ padding: 0 0 10px; color: rgba(255,255,255,.5); }
.tc-lang-switcher-mobile ul{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; gap:2px; }
.tc-lang-switcher-mobile li{ list-style:none !important; }
.tc-lang-switcher-mobile a{
	display:flex !important; align-items:center; gap:12px; padding:12px 10px; border-radius:10px;
	color: rgba(255,255,255,.82); font-size:15px; font-weight:600; text-decoration:none !important;
	transition: background .15s ease; border-bottom:none !important;
}
.tc-lang-switcher-mobile a:active, .tc-lang-switcher-mobile a:hover{ background: rgba(255,255,255,.06); }
.tc-lang-switcher-mobile a.is-active{ background: rgba(217,164,65,.14); color:#fff; }
.tc-lang-switcher-mobile .tc-lang-flag{
	display:inline-flex !important; width:24px !important; height:18px !important; border-radius:3px; overflow:hidden; flex-shrink:0;
	box-shadow: 0 0 0 1px rgba(255,255,255,.25);
}
.tc-lang-switcher-mobile .tc-lang-flag img{ display:block; width:100%; height:100%; object-fit:cover; }
.tc-lang-switcher-mobile .tc-lang-name{ flex:1; }
.tc-lang-switcher-mobile .tc-lang-check{ color: var(--tc-gold); }

/* ============ RTL BASELINE (Arabic) ============ */
html[dir="rtl"] .tc-nav ul{ padding-right:0; }
html[dir="rtl"] .tc-lang-menu{ right:auto; left:0; transform-origin: top left; }
html[dir="rtl"] .tc-lang-toggle{ padding:0 8px !important; }
html[dir="rtl"] .tc-lang-chevron{ margin-right:0; margin-left:2px; }
html[dir="rtl"] .tc-lang-menu a,
html[dir="rtl"] .tc-lang-switcher-mobile a{ text-align:right; }
html[dir="rtl"] .tc-hero-content{ left:auto; right:0; text-align:right; }
html[dir="rtl"] .tc-hero-content .tc-hero-ctas{ flex-direction:row-reverse; }
html[dir="rtl"] .tc-section-head{ flex-direction:row-reverse; }
html[dir="rtl"] .tc-footer-main{ direction:rtl; }
html[dir="rtl"] .tc-mobile-menu a{ text-align:right; }

.tc-search-panel{
	max-height:0; overflow:hidden; transition: max-height .3s ease;
	background: rgba(8,13,24,.96);
}
.tc-search-panel.is-open{ max-height: 90px; }
.tc-search-form{ max-width: var(--tc-maxw); margin:0 auto; padding: 0 32px 18px; display:flex; gap:10px; }
.tc-search-form input[type=search]{
	flex:1; padding:12px 16px; border-radius: var(--tc-radius-sm); border:1px solid rgba(255,255,255,.2);
	background: rgba(255,255,255,.08); color:#fff; font-family: var(--font-body); font-size:14px;
}
.tc-search-form input::placeholder{ color: rgba(255,255,255,.5); }
.tc-search-form button{
	padding:12px 22px; border-radius: var(--tc-radius-sm); border:none; background:var(--tc-gold);
	color:#1a1200; font-weight:600; cursor:pointer;
}

.tc-mobile-menu{ display:none !important; }

/* ============ HERO ============ */
.tc-hero{ position:relative; overflow:hidden; }
.tc-hero-media{ position:relative; height: 700px; }
.tc-hero-img{
	position:absolute !important; inset:0 !important; width:100% !important; height:100% !important;
	max-width:none !important; margin:0 !important; padding:0 !important;
	object-fit:cover !important; object-position: 50% 68%;
	filter: saturate(1.06) contrast(1.05) brightness(0.97);
}
.tc-hero-media::after{
	content:""; position:absolute; inset:0; pointer-events:none;
	background: radial-gradient(120% 90% at 50% 34%, rgba(0,0,0,0) 55%, rgba(4,8,16,.32) 100%);
}
.tc-hero-overlay{
	position:absolute; inset:0;
	background:
		linear-gradient(180deg, rgba(8,12,22,.80) 0%, rgba(8,12,22,.40) 30%, rgba(8,12,22,.05) 50%, rgba(8,12,22,.06) 74%, rgba(8,12,22,.44) 100%),
		linear-gradient(115deg, rgba(8,12,22,.38) 0%, rgba(8,12,22,0) 42%);
}
.tc-hero-content{
	position:absolute; top:0; left:0;
	box-sizing:border-box;
	max-width: clamp(260px, 30vw, 560px);
	padding: 100px 32px 0;
	display:flex; flex-direction:column; justify-content:flex-start;
}
.tc-hero-content h1{
	color:#fff; font-size: clamp(28px, 3.4vw, 50px); line-height:1.14; margin-bottom:20px;
	text-shadow: 0 2px 20px rgba(0,0,0,.4);
}
.tc-hero-content p{
	color: rgba(255,255,255,.88); font-size:16.5px; line-height:1.6; margin-bottom:32px;
	text-shadow: 0 1px 10px rgba(0,0,0,.32);
}
.tc-hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; }
.tc-hero-ctas-mobile{ display:none; }
.tc-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0;
	padding: 15px 28px; border-radius: var(--tc-radius-sm);
	font-weight:600; font-size:14.5px; letter-spacing:.02em; text-transform:uppercase;
	white-space:nowrap;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.tc-btn-gold{ background: var(--tc-gold); color:#1a1200; }
.tc-btn-gold:hover{ background: var(--tc-gold-dark); transform: translateY(-2px); box-shadow: var(--tc-shadow-lg); }
.tc-btn-outline{ background: rgba(9,13,23,.35); border:1.5px solid rgba(255,255,255,.85); color:#fff; }
.tc-btn-outline:hover{ background: rgba(255,255,255,.16); transform: translateY(-2px); }

.tc-feature-bar{
	position:relative; z-index:2;
	max-width: calc(var(--tc-maxw) - 64px); margin: -46px auto 0;
	background: var(--tc-navy);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-lg);
	display:grid; grid-template-columns: repeat(4,1fr);
	padding: 26px 10px;
}
.tc-feature-item{
	display:flex; align-items:center; gap:12px; justify-content:center;
	color:#fff; font-size:13.5px; font-weight:600; line-height:1.3;
	border-right: 1px solid rgba(255,255,255,.12);
}
.tc-feature-item:last-child{ border-right:none; }
.tc-feature-icon{ color: var(--tc-gold); flex-shrink:0; }

/* ============ SECTIONS ============ */
.tc-section{ max-width: var(--tc-maxw); margin:0 auto; padding: 90px 32px 10px; }
.tc-section-tight{ padding-top: 40px; }
.tc-section-head{
	display:flex; align-items:baseline; justify-content:space-between; margin-bottom: 36px; gap:20px;
}
.tc-section-head h2{ font-size: 32px; }
.tc-link{ font-size:14px; font-weight:600; color: var(--tc-navy); white-space:nowrap; border-bottom:1.5px solid var(--tc-gold); padding-bottom:2px; }

/* product cards — ONE component used by shop, categories, homepage, related products (see travelcho_product_card()) */
.tc-product-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 26px; align-items:stretch; }
.tc-product-grid-4{ grid-template-columns: repeat(2, 1fr); }
.tc-product-card{
	background:#fff; border-radius: var(--tc-radius); overflow:hidden;
	box-shadow: var(--tc-shadow); transition: transform .25s ease, box-shadow .25s ease;
	display:flex; flex-direction:column; height:100%;
}
.tc-product-card:hover{ transform: translateY(-6px); box-shadow: var(--tc-shadow-lg); }
.tc-product-thumb{
	display:block; aspect-ratio: 4/5; overflow:hidden; position:relative; flex-shrink:0;
}
.tc-product-thumb img{ width:100% !important; height:100% !important; max-width:100% !important; object-fit:cover; transition: transform .4s ease; display:block; }
.tc-product-card:hover .tc-product-thumb img{ transform: scale(1.06); }
.tc-product-badge{
	position:absolute; top:12px; left:12px; z-index:2;
	background: var(--tc-navy); color:#fff; font-size:10.5px; font-weight:700;
	letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; border-radius:999px;
}
.tc-product-info{ padding: 18px 18px 20px; display:flex; flex-direction:column; flex:1; }
.tc-product-title-link{ text-decoration:none !important; }
.tc-product-info h3{
	font-size:16px; margin-bottom:0; line-height:1.3; color: var(--tc-navy);
	transition: color .15s ease;
}
.tc-product-title-link:hover h3{ color: var(--tc-gold-dark); }
.tc-product-rating{ margin-top:7px; font-size:12.5px; color: var(--tc-text-muted); display:flex; align-items:center; gap:6px; }
.tc-product-price{ display:block; color: var(--tc-gold-dark); font-weight:700; font-size:16px; margin-top:8px; }
.tc-stars{ color: var(--tc-gold); letter-spacing:1px; font-size:13px; }
.tc-product-card-action{ margin-top:14px; padding-top:0; }
.tc-no-products{ text-align:center; color: var(--tc-text-muted); padding: 40px 20px; font-size:15px; }

/* destinations */
.tc-destination-grid{ display:grid; grid-template-columns: repeat(6,1fr); gap:20px; }
.tc-dest-card{ position:relative; border-radius: var(--tc-radius); overflow:hidden; aspect-ratio: 3/3.6; box-shadow: var(--tc-shadow); }
.tc-dest-card img{ width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }
.tc-dest-card:hover img{ transform: scale(1.08); }
.tc-dest-card::after{
	content:""; position:absolute; inset:0;
	background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 55%);
}
.tc-dest-name{
	position:absolute; left:14px; bottom:14px; z-index:2; color:#fff; font-weight:700; font-size:15px;
}

/* categories */
.tc-category-grid{ display:grid; grid-template-columns: repeat(6,1fr); gap:18px; }
.tc-cat-tile{
	background: var(--tc-bg-soft); border:1px solid var(--tc-border); border-radius: var(--tc-radius);
	padding: 26px 14px; display:flex; flex-direction:column; align-items:center; gap:14px;
	text-align:center; font-weight:600; font-size:14px; color:var(--tc-navy);
	transition: background .2s ease, transform .2s ease;
}
.tc-cat-tile:hover{ background:#fff; box-shadow: var(--tc-shadow); transform: translateY(-3px); }
.tc-cat-icon{ color: var(--tc-navy); }

/* split row: best sellers + why choose us */
.tc-split-row{ max-width: var(--tc-maxw); margin: 0 auto; padding: 90px 32px 10px; display:grid; grid-template-columns: 1.7fr 1fr; gap:60px; }
.tc-split-row .tc-section{ padding:0; max-width:none; }
.tc-why-us{ background: var(--tc-bg-soft); border-radius: var(--tc-radius); padding: 36px 30px; }
.tc-why-us h2{ font-size:26px; margin-bottom:24px; }
.tc-why-us ul{ display:flex; flex-direction:column; gap:22px; }
.tc-why-us li{ display:flex; gap:14px; align-items:flex-start; }
.tc-why-icon{ font-size:22px; line-height:1; }
.tc-why-us strong{ display:block; font-size:14.5px; margin-bottom:3px; color:var(--tc-navy); }
.tc-why-us p{ font-size:13px; color: var(--tc-text-muted); margin:0; line-height:1.5; }

/* testimonials */
.tc-testimonial-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.tc-testimonial-card{
	background: var(--tc-bg-soft); border-radius: var(--tc-radius); padding: 28px 26px;
}
.tc-testimonial-card p{ font-size:14.5px; line-height:1.6; color: var(--tc-text); margin-bottom:20px; font-style:italic; }
.tc-testimonial-person{ display:flex; align-items:center; gap:12px; }
.tc-testimonial-person img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.tc-testimonial-person strong{ display:block; font-size:14px; color:var(--tc-navy); }
.tc-testimonial-person span{ display:block; font-size:12px; color: var(--tc-text-muted); margin-bottom:2px; }

/* articles */
.tc-article-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:24px; padding-bottom:20px; }
.tc-article-card{ display:block; }
.tc-article-thumb{ border-radius: var(--tc-radius); overflow:hidden; aspect-ratio: 4/3; margin-bottom:14px; }
.tc-article-thumb img{ width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }
.tc-article-card:hover .tc-article-thumb img{ transform: scale(1.06); }
.tc-article-cat{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color: var(--tc-gold-dark); }
.tc-article-card h3{ font-family: var(--font-body); font-weight:600; font-size:15px; color:var(--tc-navy); margin-top:6px; line-height:1.4; }

/* ============ NEWSLETTER ============ */
.tc-newsletter{
	margin-top: 100px;
	background: linear-gradient(120deg, rgba(10,15,28,.92), rgba(10,15,28,.7)), var(--tc-newsletter-bg) center/cover;
}
.tc-newsletter-inner{
	max-width: var(--tc-maxw); margin:0 auto; padding: 70px 32px;
	display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;
}
.tc-newsletter-copy h2{ color:#fff; font-size:30px; margin-bottom:10px; }
.tc-newsletter-copy p{ color: rgba(255,255,255,.75); font-size:14.5px; max-width:420px; }
.tc-newsletter-form{ min-width:360px; }
.tc-newsletter-form form{ display:flex; gap:10px; }
.tc-newsletter-form input[type=email], .tc-newsletter-form input[type=text]{
	flex:1; padding: 15px 18px; border-radius: var(--tc-radius-sm); border:1px solid rgba(255,255,255,.25);
	background: rgba(255,255,255,.1); color:#fff; font-family: var(--font-body);
}
.tc-newsletter-form input::placeholder{ color: rgba(255,255,255,.6); }
.tc-newsletter-form input[type=submit], .tc-newsletter-form button{
	padding: 15px 26px; border-radius: var(--tc-radius-sm); border:none; background: var(--tc-gold);
	color:#1a1200; font-weight:700; cursor:pointer; text-transform:uppercase; font-size:13px; letter-spacing:.03em;
}
.tc-newsletter-note{ display:block; margin-top:10px; font-size:12px; color: rgba(255,255,255,.55); }

/* ============ FOOTER ============ */
.tc-footer{ background: var(--tc-navy); color: rgba(255,255,255,.7); }
.tc-footer-main{
	max-width: var(--tc-maxw); margin:0 auto; padding: 60px 32px 40px;
	display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.3fr; gap:30px;
}
.tc-logo-footer{ color:#fff; margin-bottom:14px; }
.tc-footer-brand p{ font-size:13.5px; line-height:1.6; margin-bottom:14px; }
.tc-footer-contact a{ color: rgba(255,255,255,.65); }
.tc-footer-legal-head{ margin-top:22px; }
.tc-socials{ display:flex; gap:10px; }
.tc-socials a{
	width:34px; height:34px; border-radius:50%; background: rgba(255,255,255,.08);
	display:flex; align-items:center; justify-content:center; color:#fff; transition: background .2s ease;
}
.tc-socials a:hover{ background: var(--tc-gold); color:#1a1200; }
.tc-footer-col h4{ color:#fff; font-family: var(--font-body); font-size:14px; font-weight:700; margin-bottom:16px; text-transform:uppercase; letter-spacing:.04em; }
.tc-footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.tc-footer-col a{ font-size:13.5px; color: rgba(255,255,255,.65); transition: color .2s ease; }
.tc-footer-col a:hover{ color: var(--tc-gold); }
.tc-footer-bottom{
	border-top: 1px solid rgba(255,255,255,.1);
	max-width: var(--tc-maxw); margin:0 auto; padding: 22px 32px;
	display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
	font-size:12.5px; color: rgba(255,255,255,.45);
}

/* subtle scroll-reveal */
.tc-product-card, .tc-dest-card, .tc-cat-tile, .tc-testimonial-card, .tc-article-card{
	opacity:0; transform: translateY(18px);
	transition: opacity .6s ease, transform .6s ease;
}
.tc-product-card.tc-in-view, .tc-dest-card.tc-in-view, .tc-cat-tile.tc-in-view,
.tc-testimonial-card.tc-in-view, .tc-article-card.tc-in-view{
	opacity:1; transform:none;
}

/* ============ COUNTRY LANDING PAGES ============ */
.tc-country-hero{ position:relative; height:420px; overflow:hidden; }
.tc-country-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tc-country-hero-content{
	position:absolute; inset:0; max-width: var(--tc-maxw); margin:0 auto; padding: 0 32px;
	display:flex; flex-direction:column; justify-content:center; z-index:2;
}
.tc-eyebrow{ color: var(--tc-gold); font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.tc-country-hero-content h1{ color:#fff; font-size:46px; margin-bottom:10px; }
.tc-country-hero-content p{ color: rgba(255,255,255,.85); font-size:16px; max-width:560px; }

.tc-country-body{
	max-width: var(--tc-maxw); margin:0 auto; padding: 60px 32px 100px;
	display:grid; grid-template-columns: 2.2fr 1fr; gap:60px;
}
.tc-country-block{ margin-bottom:44px; }
.tc-country-block h2{ font-size:24px; margin-bottom:14px; }
.tc-country-block p{ color: var(--tc-text); line-height:1.75; font-size:15px; }
.tc-country-block ul, .tc-country-block ol{ padding-left:22px; color:var(--tc-text); line-height:1.9; font-size:15px; }
.tc-country-block-split{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }

.tc-country-facts{
	display:grid; grid-template-columns: repeat(4,1fr); gap:16px; margin-bottom:44px;
	background: var(--tc-bg-soft); border-radius: var(--tc-radius); padding: 24px;
}
.tc-country-facts div{ display:flex; flex-direction:column; gap:6px; }
.tc-country-facts span{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--tc-text-muted); font-weight:600; }
.tc-country-facts strong{ font-size:15px; color:var(--tc-navy); font-family: var(--font-head); }

.tc-country-gallery{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; }
.tc-country-gallery img{ border-radius: var(--tc-radius-sm); aspect-ratio:4/3; object-fit:cover; }

.tc-country-sidebar{ display:flex; flex-direction:column; gap:24px; }
.tc-sidebar-card{ background: var(--tc-bg-soft); border-radius: var(--tc-radius); padding:24px; }
.tc-sidebar-card h3{ font-size:16px; margin-bottom:16px; }
.tc-sidebar-card .tc-product-card{ box-shadow:none; background:#fff; }
.tc-sidebar-list{ display:flex; flex-direction:column; gap:10px; }
.tc-sidebar-list a{ font-size:14px; color:var(--tc-navy); font-weight:600; border-bottom:1px solid var(--tc-border); padding-bottom:10px; display:block; }
.tc-sidebar-list li:last-child a{ border-bottom:none; padding-bottom:0; }

/* ============ CATEGORY LANDING PAGES ============ */
.tc-category-hero{ background: var(--tc-navy); padding: 70px 32px 50px; text-align:center; box-sizing:border-box; width:100%; }
.tc-category-hero-inner{ max-width:700px; width:100%; margin:0 auto; box-sizing:border-box; }
.tc-category-hero .tc-cat-icon-lg{ color: var(--tc-gold); margin-bottom:16px; display:flex; justify-content:center; }
.tc-category-hero h1{ color:#fff; font-size:38px; margin-bottom:14px; }
.tc-category-hero p{ color: rgba(255,255,255,.75); font-size:15.5px; line-height:1.7; }
.tc-category-products{ max-width: var(--tc-maxw); margin:0 auto; padding: 60px 32px 100px; }

/* ============ SIMPLE CONTENT PAGES (About/FAQ/Policies) ============ */
.tc-page-hero{ background: var(--tc-navy); padding: 64px 32px 44px; text-align:center; }
.tc-page-hero h1{ color:#fff; font-size:38px; }
.tc-page-hero p{ color: rgba(255,255,255,.72); font-size:15px; margin-top:10px; max-width:600px; margin-left:auto; margin-right:auto; }
.tc-page-body{ max-width: 880px; margin:0 auto; padding: 60px 32px 100px; }
.tc-page-body h2{ font-size:26px; margin: 40px 0 16px; }
.tc-page-body h2:first-child{ margin-top:0; }
.tc-page-body p{ color:var(--tc-text); line-height:1.8; font-size:15.5px; margin-bottom:16px; }
.tc-page-body ul, .tc-page-body ol{ padding-left:22px; line-height:1.9; font-size:15.5px; color:var(--tc-text); margin-bottom:16px; }

.tc-stats-row{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; margin: 36px 0; }
.tc-stats-row div{ text-align:center; background: var(--tc-bg-soft); border-radius: var(--tc-radius); padding:26px 12px; }
.tc-stats-row strong{ display:block; font-family: var(--font-head); font-size:30px; color:var(--tc-gold-dark); }
.tc-stats-row span{ font-size:12.5px; color:var(--tc-text-muted); font-weight:600; }

.tc-team-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; margin: 20px 0 36px; }
.tc-team-grid figure{ text-align:center; }
.tc-team-grid img{ border-radius:50%; width:100px; height:100px; object-fit:cover; margin:0 auto 10px; }
.tc-team-grid figcaption strong{ display:block; font-size:14px; color:var(--tc-navy); }
.tc-team-grid figcaption span{ font-size:12px; color:var(--tc-text-muted); }

.tc-faq-item{ border-bottom:1px solid var(--tc-border); padding: 18px 0; }
.tc-faq-item summary{ cursor:pointer; font-weight:600; font-size:15.5px; color:var(--tc-navy); list-style:none; display:flex; justify-content:space-between; align-items:center; }
.tc-faq-item summary::-webkit-details-marker{ display:none; }
.tc-faq-item summary::after{ content:"+"; font-size:20px; color:var(--tc-gold-dark); }
.tc-faq-item[open] summary::after{ content:"−"; }
.tc-faq-item p{ margin-top:12px; }

/* ============ SINGLE ARTICLE ============ */
.tc-article-hero{ position:relative; height:440px; overflow:hidden; }
.tc-article-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tc-article-hero-content{ position:absolute; inset:0; max-width:800px; margin:0 auto; padding:0 32px; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:40px; z-index:2; }
.tc-eyebrow-link{ text-decoration:none; width:fit-content; }
.tc-article-hero-content h1{ color:#fff; font-size:38px; line-height:1.2; margin-bottom:18px; }
.tc-article-meta{ display:flex; align-items:center; gap:12px; }
.tc-article-meta img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.tc-article-meta strong{ color:#fff; display:block; font-size:14px; }
.tc-article-meta span{ color:rgba(255,255,255,.7); font-size:12.5px; }

.tc-article-body-wrap{ max-width: var(--tc-maxw); margin:0 auto; padding: 60px 32px; display:grid; grid-template-columns: 2.2fr 1fr; gap:60px; }
.tc-article-content{ font-size:16px; line-height:1.85; color:var(--tc-text); max-width:760px; }
.tc-article-content h2{ font-size:25px; margin:36px 0 14px; color:var(--tc-navy); }
.tc-article-content p{ margin-bottom:18px; }
.tc-article-content ul, .tc-article-content ol{ padding-left:22px; margin-bottom:18px; }
.tc-article-content a{ color:var(--tc-gold-dark); text-decoration:underline; }

.tc-article-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; }
.tc-article-tags a{ background:var(--tc-bg-soft); padding:6px 14px; border-radius:20px; font-size:12.5px; color:var(--tc-navy); text-decoration:none; }

.tc-share-box{ display:flex; align-items:center; gap:16px; padding:22px 0; border-top:1px solid var(--tc-border); border-bottom:1px solid var(--tc-border); margin-bottom:30px; }
.tc-share-box span{ font-size:13px; font-weight:600; color:var(--tc-navy); }
.tc-share-links{ display:flex; gap:8px; }
.tc-share-links a{ width:34px; height:34px; border-radius:50%; background:var(--tc-bg-soft); display:flex; align-items:center; justify-content:center; color:var(--tc-navy); transition:background .2s ease; }
.tc-share-links a:hover{ background:var(--tc-gold); color:#1a1200; }

.tc-author-box{ display:flex; gap:16px; background:var(--tc-bg-soft); border-radius:var(--tc-radius); padding:24px; }
.tc-author-box img{ width:60px; height:60px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.tc-author-box strong{ display:block; margin-bottom:6px; color:var(--tc-navy); }
.tc-author-box p{ font-size:13.5px; color:var(--tc-text-muted); margin:0; line-height:1.6; }

.tc-article-excerpt{ font-size:13px; color:var(--tc-text-muted); margin:8px 0 6px; line-height:1.5; }
.tc-article-meta-line{ font-size:11.5px; color:var(--tc-text-muted); font-weight:600; }

/* ============ TRAVEL MAGAZINE ============ */
.tc-magazine-hero{ background: var(--tc-navy); }
.tc-magazine-search{ max-width:480px; margin:24px auto 0; display:flex; gap:10px; }
.tc-magazine-search input{ flex:1; padding:13px 18px; border-radius:var(--tc-radius-sm); border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.08); color:#fff; }
.tc-magazine-search input::placeholder{ color:rgba(255,255,255,.55); }
.tc-magazine-search button{ padding:13px 24px; border-radius:var(--tc-radius-sm); border:none; background:var(--tc-gold); color:#1a1200; font-weight:700; cursor:pointer; }

.tc-featured-article{ max-width: var(--tc-maxw); margin:50px auto 0; padding:0 32px; }
.tc-featured-article-link{ display:grid; grid-template-columns:1.2fr 1fr; background:var(--tc-bg-soft); border-radius:var(--tc-radius); overflow:hidden; box-shadow:var(--tc-shadow); }
.tc-featured-media{ aspect-ratio:16/11; overflow:hidden; }
.tc-featured-media img{ width:100%; height:100%; object-fit:cover; }
.tc-featured-content{ padding:40px; display:flex; flex-direction:column; justify-content:center; }
.tc-featured-content h2{ font-size:28px; margin:12px 0 14px; }
.tc-featured-content p{ color:var(--tc-text-muted); font-size:14.5px; line-height:1.7; margin-bottom:20px; }

.tc-magazine-filters{ max-width: var(--tc-maxw); margin:40px auto 0; padding:0 32px; display:flex; flex-wrap:wrap; gap:10px; }
.tc-filter-pill{ padding:9px 18px; border-radius:20px; background:var(--tc-bg-soft); font-size:13px; font-weight:600; color:var(--tc-navy); text-decoration:none; border:1px solid transparent; transition: all .2s ease; white-space:nowrap; flex-shrink:0; }
.tc-filter-pill:hover{ background:#fff; border-color:var(--tc-border); }
.tc-filter-pill.is-active{ background:var(--tc-navy); color:#fff; }

.tc-magazine-body{ max-width: var(--tc-maxw); margin:0 auto; padding: 40px 32px 100px; display:grid; grid-template-columns: 2.2fr 1fr; gap:50px; align-items:start; }
.tc-magazine-grid{ margin-bottom:40px; }

.tc-pagination{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.tc-pagination .page-numbers{ display:flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; border-radius:8px; background:var(--tc-bg-soft); color:var(--tc-navy); font-size:13.5px; font-weight:600; text-decoration:none; }
.tc-pagination .page-numbers.current{ background:var(--tc-navy); color:#fff; }
.tc-pagination .page-numbers:hover:not(.current){ background:#e8e4dc; }

.tc-sidebar-newsletter form{ display:flex; flex-direction:column; gap:8px; }
.tc-sidebar-newsletter input[type=email], .tc-sidebar-newsletter input[type=text]{ padding:11px 14px; border-radius:8px; border:1px solid var(--tc-border); font-size:13px; }
.tc-sidebar-newsletter input[type=submit]{ padding:11px 14px; border-radius:8px; border:none; background:var(--tc-navy); color:#fff; font-weight:700; cursor:pointer; }
.tc-sidebar-newsletter p{ font-size:13px; color:var(--tc-text-muted); margin-bottom:12px; }

/* ============ BUY NOW (purchase-link architecture) ============
   Deliberately distinct from the site's generic .tc-btn CTAs — this is
   the one moment money changes hands, so it gets its own premium
   treatment: a warm gold gradient, a soft directional glow, a subtle
   shine sweep on hover, and a sliding arrow. Pill-shaped to read as
   "the special one" against the rest of the site's rounded-rect buttons. */
.tc-buy-now-btn{
	position:relative; overflow:hidden; isolation:isolate;
	display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
	padding:13px 26px; border-radius:999px;
	background: linear-gradient(135deg, #ECC06C 0%, #D9A441 48%, #C0832A 100%);
	color:#241a06 !important; text-decoration:none !important;
	font-family: var(--font-body); font-weight:700; font-size:12.5px;
	letter-spacing:.07em; text-transform:uppercase; line-height:1;
	white-space:nowrap; cursor:pointer; border:none;
	box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, 0 8px 18px -8px rgba(178,124,20,.7), 0 2px 5px rgba(20,14,2,.14);
	transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .3s ease;
}
.tc-buy-now-btn::before{
	content:""; position:absolute; inset:0; z-index:-1;
	background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.65) 50%, transparent 60%);
	background-size:220% 100%; background-position:120% 0;
	transition: background-position .7s cubic-bezier(.16,1,.3,1);
}
.tc-buy-now-btn:hover{
	transform: translateY(-2px);
	background: linear-gradient(135deg, #F3CE84 0%, #E2AE52 48%, #C88B2E 100%);
	box-shadow: 0 1px 0 rgba(255,255,255,.55) inset, 0 12px 24px -8px rgba(178,124,20,.8), 0 3px 8px rgba(20,14,2,.18);
}
.tc-buy-now-btn:hover::before{ background-position:-20% 0; }
.tc-buy-now-btn:active{ transform: translateY(0); box-shadow: 0 1px 0 rgba(255,255,255,.4) inset, 0 4px 10px -4px rgba(178,124,20,.7); }
.tc-buy-now-btn:focus-visible{ outline:2px solid var(--tc-navy); outline-offset:3px; }
.tc-buy-now-arrow{ display:inline-block; transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
.tc-buy-now-btn:hover .tc-buy-now-arrow{ transform: translateX(4px); }

.tc-buy-now-wrap{ margin: 28px 0 10px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.tc-buy-now-btn-large{ padding:17px 40px !important; font-size:13.5px !important; gap:11px; }
.tc-buy-now-btn-block{ width:100%; padding:12px 20px !important; font-size:12px !important; }
.added_to_cart.wc-forward{
	display:inline-flex; margin-top:8px; font-size:12px; font-weight:600;
	color: var(--tc-navy) !important; text-decoration:underline; text-underline-offset:2px;
}
.tc-buy-now-note{
	display:flex; align-items:center; gap:6px; margin:0 !important;
	font-size:12px; color: var(--tc-text-muted); letter-spacing:.01em;
}
.tc-buy-now-note svg{ flex-shrink:0; color: var(--tc-gold-dark); opacity:.85; }

/* ============ TRUSTPILOT ============ */
.tc-trustpilot-section .tc-section-head{ justify-content:center; text-align:center; }
.tc-trustpilot-section .tc-section-head h2{ width:100%; }
.tc-trustpilot-box{
	max-width: 720px; margin: 0 auto; min-height:150px;
	display:flex; align-items:center; justify-content:center;
}
.tc-trustpilot-placeholder{
	width:100%; padding: 34px 30px; text-align:center; border-radius: var(--tc-radius);
	background: var(--tc-bg-soft); border:1px dashed var(--tc-border);
	color: var(--tc-text-muted);
}
.tc-trustpilot-placeholder svg{ color:#00b67a; margin-bottom:12px; }
.tc-trustpilot-placeholder p{ font-size:14px; line-height:1.6; max-width:440px; margin:0 auto; }
.tc-trustpilot-cta{ text-align:center; margin-top:22px; }

/* ============ WHATSAPP FLOAT ============ */
.tc-whatsapp-float{
	position:fixed; right:24px; bottom:24px; z-index:200;
	width:58px; height:58px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background: #25D366; color:#fff;
	box-shadow: 0 6px 20px rgba(0,0,0,.25), 0 2px 6px rgba(0,0,0,.15);
	transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.tc-whatsapp-float:hover{
	transform: translateY(-3px) scale(1.06);
	box-shadow: 0 10px 26px rgba(0,0,0,.3), 0 3px 8px rgba(0,0,0,.18);
	background: #1ebe5a;
}
.tc-whatsapp-float:active{ transform: translateY(-1px) scale(.97); }
.tc-whatsapp-ring{
	position:absolute; inset:0; border-radius:50%;
	box-shadow: 0 0 0 0 rgba(37,211,102,.55);
	animation: tc-wa-pulse 2.4s ease-out infinite;
	pointer-events:none;
}
@keyframes tc-wa-pulse{
	0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.5); }
	70%  { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
	100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
@media (prefers-reduced-motion: reduce){
	.tc-whatsapp-ring{ animation:none; }
}
@media (max-width: 782px){
	.tc-whatsapp-float{ right:16px; bottom:16px; width:52px; height:52px; }
	.tc-whatsapp-float svg{ width:26px; height:26px; }
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1100px){
	.tc-product-grid{ grid-template-columns: repeat(2,1fr); }
	.tc-destination-grid{ grid-template-columns: repeat(3,1fr); }
	.tc-category-grid{ grid-template-columns: repeat(3,1fr); }
	.tc-split-row{ grid-template-columns: 1fr; }
	.tc-testimonial-grid{ grid-template-columns: 1fr; }
	.tc-article-grid{ grid-template-columns: repeat(2,1fr); }
	.tc-footer-main{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 782px){
	.tc-header-inner{ padding: 14px 18px; }
	.tc-header-inner{ padding: 12px 14px !important; }
	.tc-logo{ font-size:18px !important; }
	.tc-logo-mark{ font-size:20px !important; }
	.tc-header-actions{ gap:2px !important; }
	.tc-icon-btn{ width:34px !important; height:34px !important; min-width:34px !important; }
	.tc-icon-btn svg{ width:18px !important; height:18px !important; }
	.tc-search-toggle{ display:none !important; }
	.tc-lang-switcher{ display:none; }

	.tc-mobile-menu{
		display:block !important; max-height:0; overflow:hidden; transition: max-height .35s ease;
		background: rgba(8,13,24,.98);
	}
	.tc-mobile-menu.is-open{ max-height: 560px; }
	.tc-search-form-mobile{ padding: 16px 20px 0; }
	.tc-mobile-menu ul{ padding: 6px 20px 20px; display:flex; flex-direction:column; }
	.tc-mobile-menu a{ display:block; padding: 13px 0; color:#fff; font-size:16px; border-bottom:1px solid rgba(255,255,255,.08); }

	.tc-hero-media{ height: 660px; }
	.tc-hero-img{ object-position: 50% 55% !important; }
	.tc-hero-content{ padding: 36px 20px 0; max-width:100%; justify-content:flex-start; }
	.tc-hero-content h1{ font-size:27px; margin-bottom:0; }
	.tc-hero-content p{ display:none; }
	.tc-hero-content .tc-hero-ctas{ display:none; }
	.tc-hero-ctas-mobile{
		display:flex; flex-direction:column; gap:12px;
		background: var(--tc-navy); padding: 18px 20px 24px; position:relative; z-index:2;
	}
	.tc-hero-ctas-mobile .tc-btn{ padding:14px 20px; font-size:13px; justify-content:center; }

	.tc-feature-bar{
		position:static; margin: 18px 14px 0; grid-template-columns: repeat(2,1fr); gap:16px 10px; padding:20px 14px;
	}
	.tc-feature-item{ border-right:none; font-size:12px; justify-content:flex-start; }

	.tc-section{ padding: 46px 18px 6px; }
	.tc-section-head h2{ font-size:24px; }
	.tc-product-grid{ grid-template-columns: 1fr; gap:16px; }
	.tc-product-grid-4{ grid-template-columns: repeat(2,1fr); gap:14px; }
	.tc-destination-grid{ grid-template-columns: repeat(2,1fr); gap:14px; }
	.tc-category-grid{ grid-template-columns: repeat(3,1fr); gap:12px; }
	.tc-cat-tile{ padding:18px 8px; font-size:12px; }
	.tc-split-row{ padding: 46px 18px 6px; gap:34px; }
	.tc-article-grid{ grid-template-columns: repeat(2,1fr); gap:14px; }

	.tc-newsletter{ margin-top:50px; }
	.tc-newsletter-inner{ padding: 44px 18px; flex-direction:column; align-items:flex-start; }
	.tc-newsletter-form{ min-width:0; width:100%; }
	.tc-newsletter-form form{ flex-direction:column; }

	.tc-footer-main{ grid-template-columns: 1fr 1fr; padding: 40px 18px 26px; gap:28px 16px; }
	.tc-footer-bottom{ flex-direction:column; padding: 18px; }

	.tc-country-hero{ height:280px; }
	.tc-country-hero-content{ padding: 0 18px; }
	.tc-country-hero-content h1{ font-size:30px; }
	.tc-country-body{ grid-template-columns: 1fr; padding: 40px 18px 60px; gap:36px; }
	.tc-country-facts{ grid-template-columns: repeat(2,1fr); }
	.tc-country-block-split{ grid-template-columns:1fr; gap:24px; }
	.tc-country-gallery{ grid-template-columns: repeat(2,1fr); }

	.tc-category-hero{ padding: 46px 18px 34px; }
	.tc-category-hero h1{ font-size:28px; }
	.tc-category-products{ padding: 40px 18px 60px; }

	.tc-page-hero{ padding: 46px 18px 34px; }
	.tc-page-hero h1{ font-size:28px; }
	.tc-page-body{ padding: 40px 18px 60px; }
	.tc-stats-row{ grid-template-columns: repeat(2,1fr); }
	.tc-team-grid{ grid-template-columns: repeat(2,1fr); }

	.tc-article-hero{ height:340px; }
	.tc-article-hero-content{ padding:0 18px 26px; }
	.tc-article-hero-content h1{ font-size:26px; }
	.tc-article-body-wrap{ grid-template-columns:1fr; padding:36px 18px; gap:36px; }
	.tc-article-content{ font-size:15px; }
	.tc-author-box{ flex-direction:column; text-align:center; align-items:center; }

	.tc-magazine-search{ flex-direction:column; padding:0 18px; }
	.tc-featured-article{ padding:0 18px; margin-top:30px; }
	.tc-featured-article-link{ grid-template-columns:1fr; }
	.tc-featured-content{ padding:22px; }
	.tc-featured-content h2{ font-size:22px; }
	.tc-magazine-filters{ padding:0 18px; margin-top:26px; overflow-x:auto; flex-wrap:nowrap; }
	.tc-magazine-body{ grid-template-columns:1fr; padding:26px 18px 60px; gap:30px; }
}

@media (max-width: 420px){
	.tc-product-grid-4, .tc-destination-grid{ grid-template-columns: repeat(2,1fr); }
	.tc-footer-main{ grid-template-columns: 1fr 1fr; }
}

/* Destination hub cross-link CTA (single.php) */
.tc-destination-cta{ background:var(--tc-bg-soft); border-left:3px solid var(--tc-gold); border-radius:var(--tc-radius-sm); padding:18px 22px; margin:0 0 30px; }
.tc-destination-cta p{ margin:0; color:var(--tc-text); }
.tc-destination-cta a{ color:var(--tc-navy); font-weight:600; text-decoration:underline; text-decoration-color:var(--tc-gold); text-underline-offset:2px; }
