/* ==========================================================================
   THC Catalog Skin — brings tour category archives and tour detail pages onto
   the same THUI design system as the homepage.

   RESTYLE ONLY. This file adds no markup and removes no content: every heading,
   description, itinerary, price and link stays exactly as WordPress rendered it,
   so nothing indexable changes. Delete the file to revert completely.

   Targets the existing first-party hooks:
     archives : .thc-ahero  .thc-sec  .thc-wrap  .thc-grid  .thc-card
     product  : .thc-tour--facts / --gallery / --inex / --itinerary
   ========================================================================== */

/* ---------- local aliases onto the token SSOT ---------- */
.thc-ui{
  --cs-navy:var(--thui-navy,#184B7C);
  --cs-navy-deep:#0F3157;
  --cs-amber:var(--thui-amber,#F4A31D);
  --cs-amber-dk:#D98D0A;
  --cs-blue:var(--thui-blue,#1279BD);
  --cs-teal:var(--thui-teal,#17A18A);
  --cs-teal-dk:#0F7E6B;
  --cs-ink:var(--thui-color-ink,#12263A);
  --cs-muted:var(--thui-color-text-muted,#5A6B7B);
  --cs-line:var(--thui-color-border,#E1E8F0);
  --cs-surface:var(--thui-color-surface,#fff);
  --cs-bg:var(--thui-color-bg,#F7FAFC);
  --cs-r:var(--thui-radius-lg,16px);
  --cs-r-sm:var(--thui-radius-sm,8px);
  --cs-r-md:var(--thui-radius-md,12px);
  --cs-shadow:var(--thui-shadow-md,0 14px 34px -16px rgba(18,38,58,.30));
  --cs-shadow-sm:var(--thui-shadow-sm,0 6px 18px -10px rgba(18,38,58,.22));
  --cs-ease:var(--thui-ease,cubic-bezier(.2,.7,.3,1));
  --cs-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}

/* ---------- archive hero: match the homepage route header ---------- */
.thc-ui .thc-ahero{
  background:
    radial-gradient(120% 90% at 78% 6%,rgba(244,163,29,.30) 0%,rgba(244,163,29,0) 46%),
    radial-gradient(90% 80% at 10% 100%,rgba(18,121,189,.36) 0%,rgba(18,121,189,0) 55%),
    linear-gradient(180deg,#123F6B 0%,var(--cs-navy-deep) 100%);
  padding:52px 0 56px;
  position:relative;
}
.thc-ui .thc-ahero h1{
  font-size:clamp(1.9rem,1.1rem + 3.2vw,2.75rem);
  font-weight:800;letter-spacing:-.015em;line-height:1.12;margin:0 0 10px;
}
.thc-ui .thc-ahero p{color:#DCE9F5;max-width:60ch;font-size:1.02rem;line-height:1.55}

/* ---------- layout ---------- */
.thc-ui .thc-sec{padding-block:56px}
.thc-ui .thc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
  gap:20px;
}

/* ---------- product card: same anatomy as the homepage card ----------
   The markup is fixed (img > body > title > foot > price + cta), so the price
   is lifted out of the footer and floated over the image as a pill, exactly
   like the homepage, and the CTA becomes the full-width action.            */
.thc-ui .thc-card{
  position:relative;isolation:isolate;
  background:var(--cs-surface);
  border:1px solid var(--cs-line);
  border-radius:var(--cs-r);
  overflow:hidden;
  display:flex;flex-direction:column;
  text-decoration:none;
  box-shadow:var(--cs-shadow-sm);
  transition:transform .25s var(--cs-ease),box-shadow .25s var(--cs-ease),border-color .25s var(--cs-ease);
}
.thc-ui .thc-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--cs-shadow);
  border-color:rgba(244,163,29,.55);
}
.thc-ui .thc-card:focus-visible{outline:3px solid var(--cs-amber);outline-offset:3px}

.thc-ui .thc-card__img{
  aspect-ratio:4/3;width:100%;
  background-size:cover;background-position:center;
  background-color:var(--thui-n-100,#EEF3F8);
  transition:transform .5s var(--cs-ease);
}
.thc-ui .thc-card:hover .thc-card__img{transform:scale(1.05)}

.thc-ui .thc-card__body{
  padding:15px 17px 17px;display:flex;flex-direction:column;gap:10px;flex:1;
}
.thc-ui .thc-card__title{
  margin:0;font-size:1.02rem;font-weight:700;line-height:1.3;
  color:var(--cs-ink);letter-spacing:-.01em;
}

/* price pill, floated over the image like the homepage cards */
.thc-ui .thc-card__foot{
  margin-top:auto;display:block;border:0;padding:0;
}
.thc-ui .thc-card__price{
  position:absolute;top:12px;inset-inline-start:12px;z-index:2;
  font-family:var(--cs-mono);font-size:.78rem;font-weight:700;
  color:var(--cs-ink);background:var(--cs-surface);
  padding:6px 11px;border-radius:999px;
  box-shadow:var(--cs-shadow-sm);
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
}
.thc-ui .thc-card__price::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--cs-teal);flex:none;
}
.thc-ui .thc-card__cta{
  display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:42px;width:100%;
  border-radius:var(--cs-r-sm);
  background:var(--cs-amber);color:var(--cs-ink);
  font-size:.86rem;font-weight:800;
  transition:background .2s var(--cs-ease);
}
.thc-ui .thc-card:hover .thc-card__cta{background:var(--cs-amber-dk);color:var(--cs-ink)}

/* ---------- tour detail: shared section rhythm ---------- */
.thc-ui .thc-tour{margin-block:34px}
.thc-ui .thc-tour__h2{
  font-size:clamp(1.25rem,1rem + 1vw,1.6rem);font-weight:800;letter-spacing:-.015em;
  color:var(--cs-ink);margin:0 0 16px;padding-bottom:10px;
  border-bottom:2px solid var(--cs-line);position:relative;
}
.thc-ui .thc-tour__h2::after{
  content:"";position:absolute;inset-inline-start:0;bottom:-2px;
  width:56px;height:2px;background:var(--cs-amber);
}

/* highlights / facts -> tiles */
.thc-ui .thc-tour__facts{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;
}
.thc-ui .thc-tour__fact{
  display:flex;flex-direction:column;gap:3px;
  background:var(--cs-surface);border:1px solid var(--cs-line);
  border-inline-start:3px solid var(--cs-blue);
  border-radius:var(--cs-r-md);padding:13px 15px;position:relative;
}
.thc-ui .thc-tour__fact .icomoon{color:var(--cs-blue);font-size:1.05rem;margin-bottom:3px}
.thc-ui .thc-tour__fact-k{
  font-family:var(--cs-mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cs-muted);
}
.thc-ui .thc-tour__fact-v{font-size:.98rem;font-weight:700;color:var(--cs-ink)}

/* included / excluded */
.thc-ui .thc-tour--inex{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;
}
@media(max-width:760px){.thc-ui .thc-tour--inex{grid-template-columns:1fr}}
.thc-ui .thc-tour__col{
  background:var(--cs-surface);border:1px solid var(--cs-line);
  border-radius:var(--cs-r);padding:18px 20px;
}
.thc-ui .thc-tour__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.thc-ui .thc-tour__col li{display:flex;gap:10px;font-size:.93rem;color:var(--cs-muted);line-height:1.5}
.thc-ui .thc-tour__col li::before{font-weight:800;flex:none;line-height:1.4}
.thc-ui .thc-tour__col--inc{border-top:3px solid var(--cs-teal)}
.thc-ui .thc-tour__col--inc li::before{content:"\2713";color:var(--cs-teal)}
.thc-ui .thc-tour__col--exc{border-top:3px solid var(--thui-color-danger,#D64545)}
.thc-ui .thc-tour__col--exc li::before{content:"\00D7";color:var(--thui-color-danger,#D64545)}

/* itinerary -> timeline */
.thc-ui .thc-tour--itinerary ol,
.thc-ui .thc-tour--itinerary ul{
  list-style:none;margin:0;padding:0;position:relative;
}
.thc-ui .thc-tour--itinerary li{
  position:relative;padding-inline-start:30px;padding-bottom:20px;
  font-size:.95rem;color:var(--cs-muted);line-height:1.6;
}
.thc-ui .thc-tour--itinerary li::before{
  content:"";position:absolute;inset-inline-start:0;top:6px;
  width:11px;height:11px;border-radius:50%;
  background:var(--cs-amber);box-shadow:0 0 0 3px rgba(244,163,29,.22);
}
.thc-ui .thc-tour--itinerary li::after{
  content:"";position:absolute;inset-inline-start:5px;top:20px;bottom:0;
  width:2px;background:var(--cs-line);
}
.thc-ui .thc-tour--itinerary li:last-child::after{display:none}
.thc-ui .thc-tour--itinerary li strong{color:var(--cs-ink);font-weight:700}

/* gallery */
.thc-ui .thc-tour__gal{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;
}
.thc-ui .thc-tour__gal img{
  width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;
  border-radius:var(--cs-r-md);border:1px solid var(--cs-line);
  transition:transform .4s var(--cs-ease);
}
.thc-ui .thc-tour__gal a:hover img,
.thc-ui .thc-tour__gal img:hover{transform:scale(1.03)}

/* ---------- WooCommerce price + add-to-cart on the product page ---------- */
.thc-ui .single-product div.product .price,
.thc-ui .woocommerce div.product p.price{
  font-family:var(--cs-mono);font-weight:700;color:var(--cs-navy);
}
.thc-ui .woocommerce div.product form.cart button.single_add_to_cart_button{
  background:var(--cs-amber);color:var(--cs-ink);font-weight:800;
  border-radius:var(--cs-r-sm);min-height:52px;padding-inline:26px;
  border:0;transition:background .2s var(--cs-ease);
}
.thc-ui .woocommerce div.product form.cart button.single_add_to_cart_button:hover{
  background:var(--cs-amber-dk);
}

/* ---------- motion / RTL ---------- */
@media(prefers-reduced-motion:reduce){
  .thc-ui .thc-card,
  .thc-ui .thc-card__img,
  .thc-ui .thc-tour__gal img{transition:none}
  .thc-ui .thc-card:hover{transform:none}
  .thc-ui .thc-card:hover .thc-card__img{transform:none}
}
[dir="rtl"] .thc-ui .thc-card__cta{transform:scaleX(-1)}
[dir="rtl"] .thc-ui .thc-card__cta > *{transform:scaleX(-1)}
