/* ============================================================
   The Sovereign Kingdom — Magento brand layer
   Mirrors the investor landing page (tsk-landing-page-main/styles.css,
   "Dark Sovereign" theme): warm ink, golden hour, thin white frames,
   Open Sans light display type, pill buttons, spaced uppercase labels.
   Loaded last in <head> (see Magento_Theme/layout/default.xml), so it
   overrides Porto's configed CSS.
============================================================ */
/* portal-excluded: rules below skip #tsk-portal / #tsk-portal-footer (see local-dev/portal-import/exclude_portal_from_brand.py) */

:root{
  --tsk-ink:        #1c1a17;
  --tsk-ink-deep:   #12100d;
  --tsk-navy:       #26221b;
  --tsk-navy-soft:  #3d3226;
  --tsk-footer:     #0d0e10;
  --tsk-gold:       #c98a44;
  --tsk-gold-bright:#d69e5c;
  --tsk-gold-soft:  #dca96a;
  --tsk-gold-deep:  #8a6d3b;
  --tsk-text:       #ede8dc;
  --tsk-text-soft:  rgba(237,232,220,.72);
  --tsk-text-muted: rgba(237,232,220,.55);
  --tsk-frame:      rgba(255,255,255,.18);
  --tsk-frame-soft: rgba(255,255,255,.10);
  --tsk-field:      rgba(255,255,255,.06);
  --tsk-sans: "Open Sans", "Helvetica Neue", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --tsk-ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base ---------- */
html, body{
  background: var(--tsk-ink) !important;
}
body,
body .page-wrapper:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-main:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .columns:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .column.main:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .main-container:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-main > .page-title-wrapper:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background-color: transparent;
  color: var(--tsk-text-soft);
  font-family: var(--tsk-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
body .page-wrapper:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-ink) !important; }
/* The theme puts a zebra-print photo behind the content on phones (images/mobile_bg4.jpg) */
body .page-main:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body #maincontent:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background-image: none !important; background-color: transparent !important; }

/* Porto pulls in Oswald / Poppins in places — unify on Open Sans */
body, body button:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body select:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body textarea:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body h1:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h2:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h3:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h4:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h5:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h6:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-footer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-middle:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-bottom:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .btn:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .sparsh_product_inquiry_link:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-family: var(--tsk-sans) !important;
}

body p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body dd:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body td:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft); }
/* Porto paints body copy #333/#777 with more specific selectors — force light copy in content areas */
body .column.main p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .column.main ul:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .column.main ol:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .column.main li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .column.main dd:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .column.main dt:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .column.main address:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product.attribute .value:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product.attribute .value *:not(a):not(strong):not(b):not(h1):not(h2):not(h3):not(h4):not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product.data.items .item.content p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product.data.items .item.content li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .sidebar p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .sidebar li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text-soft) !important;
}
body .column.main p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product.data.items .item.content p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ font-size: 15px; line-height: 1.75; font-weight: 300; }
body strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body b:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text); }
body em:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body i:not([class]):not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright); }

/* ---------- Headings: light display type ---------- */
body h1:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h2:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h3:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h4:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h5:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body h6:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .page-title span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text) !important;
  font-weight: 300 !important;
  letter-spacing: .02em;
}
body .page-title-wrapper .page-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-info-main .page-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.12;
}
body h2:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ font-size: clamp(24px, 2.4vw, 34px); }

/* Small caps / eyebrow treatment */
body .block-title strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .block .block-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .filter-options-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .filter-title strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .legend:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body fieldset .legend span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .box-title span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product.data.items > .item.title > .switch:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .footer-middle h4:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-middle .block-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .footer-top h4:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-top .block-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-family: var(--tsk-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  color: var(--tsk-gold-bright) !important;
}

/* ---------- Links ---------- */
body a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-gold-bright);
  transition: color .35s var(--tsk-ease), opacity .35s var(--tsk-ease);
}
body a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body a:focus:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-soft); text-decoration: none; }

/* ---------- Header ---------- */
body .page-header,
body .page-header.type3,
body .page-header.sticky-header,
body .page-header .header.content,
body .page-header .header-main,
body .page-header .main-panel-top,
body .page-header .nav-sections,
body .sticky-header.sticky-header-active:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: rgba(18,16,13,.92) !important;
  border-color: var(--tsk-frame-soft) !important;
}
body .page-header{
  border-bottom: 1px solid var(--tsk-frame-soft) !important;
  backdrop-filter: saturate(1.2) blur(10px);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
}
body .navigation .level0 > .level-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .sw-megamenu.navigation li.level0 > a.level-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-header .header.links > li > a,
body .page-header .customer-welcome .customer-name,
body .page-header .greet.welcome,
body .page-header .greet.welcome span{
  color: var(--tsk-text) !important;
  font-family: var(--tsk-sans) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
body .navigation .level0 > .level-top:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .navigation .level0.active > .level-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .sw-megamenu.navigation li.level0:hover > a.level-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-header .header.links > li > a:hover{
  color: var(--tsk-gold-bright) !important;
}
/* Mega menu dropdowns */
body .sw-megamenu.navigation li.level0 .level0.submenu:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .navigation .submenu:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .navigation .level0 .submenu:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-header .customer-menu,
body .page-header .header.links .customer-menu,
body .minicart-wrapper .block-minicart:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .search-autocomplete:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.45) !important;
  color: var(--tsk-text-soft) !important;
}
body .sw-megamenu.navigation li.level0 .submenu a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .navigation .submenu a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-header .customer-menu a{
  color: var(--tsk-text-soft) !important;
  background: transparent !important;
}
body .sw-megamenu.navigation li.level0 .submenu a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .navigation .submenu a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-header .customer-menu a:hover{
  color: var(--tsk-gold-bright) !important;
}
body .sw-megamenu.navigation li.level0 .submenu .level1 > a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .sw-megamenu.navigation li.level1 > a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text) !important;
  font-weight: 500 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11.5px !important;
}
body .page-header .minicart-wrapper .action.showcart:before,
body .page-header .block-search .label:before,
body .page-header .search-toggle-icon,
body .page-header .customer-welcome .action.switch:after,
body .page-header [class*="porto-icon"]{
  color: var(--tsk-text) !important;
}
/* Mobile nav drawer */
body .nav-sections:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .nav-sections-item-content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .nav-sections-item-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-ink) !important;
  border-color: var(--tsk-frame-soft) !important;
}
body .nav-toggle:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-text) !important; }

/* ---------- Breadcrumbs ---------- */
body .breadcrumbs:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .breadcrumbs .items:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .breadcrumbs a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .breadcrumbs strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  color: var(--tsk-text-muted) !important;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body .breadcrumbs a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; }
body .breadcrumbs strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text) !important; }

/* ---------- Buttons: gold pill (primary) + ghost (secondary) ---------- */
body .action.primary:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body button.action.primary:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body a.action.primary:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.tocart:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.checkout:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.submit:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.login:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.create.primary:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .btn-primary:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .sparsh_product_inquiry_link:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body a.sparsh_product_inquiry_link.primary.action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .block-subscribe .action.subscribe:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body #bnt-social-login-authentication:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body #social-login-popup .primary button:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-gold-bright) !important;
  border: 1px solid var(--tsk-gold-bright) !important;
  color: var(--tsk-ink) !important;
  border-radius: 999px !important;
  font-family: var(--tsk-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  padding: 15px 34px !important;
  height: auto !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background .25s var(--tsk-ease), border-color .25s var(--tsk-ease), transform .25s var(--tsk-ease), box-shadow .25s var(--tsk-ease) !important;
}
body .action.primary:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.tocart:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.checkout:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.submit:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.login:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .btn-primary:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .sparsh_product_inquiry_link:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .block-subscribe .action.subscribe:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body #bnt-social-login-authentication:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-gold-soft) !important;
  border-color: var(--tsk-gold-soft) !important;
  color: var(--tsk-ink) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(214,158,92,.22) !important;
}
body .action.primary *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .action.tocart *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .sparsh_product_inquiry_link *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: inherit !important; }

body .action.secondary:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.default:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body button.action:not(.primary):not(.close):not(.nav-toggle):not(.switch):not(.showcart):not(.search):not(.towishlist):not(.tocompare):not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .btn-default:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .btn:not(.btn-primary):not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border: 1px solid var(--tsk-frame) !important;
  color: var(--tsk-text) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  height: auto !important;
  box-shadow: none !important;
}
body .action.secondary:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .action.default:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .btn:not(.btn-primary):hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border-color: var(--tsk-gold-bright) !important;
  color: var(--tsk-gold-bright) !important;
  background: transparent !important;
}

/* Social sign-in buttons: ghost pills with the icon centred on the left */
body .btn-social:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 14px 28px 14px 52px !important;
  margin-bottom: 10px !important;
}
body .btn-social > .fa:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .btn-social > span:first-child:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: absolute !important;
  left: 20px !important;
  top: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 100% !important;
  line-height: 1 !important;
  border: 0 !important;
  font-size: 15px !important;
  color: var(--tsk-gold-bright) !important;
  text-align: center;
}

/* Wishlist / compare icon buttons on product page */
body .product-social-links .action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-addto-links .action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border: 1px solid var(--tsk-frame) !important;
  border-radius: 999px !important;
  color: var(--tsk-text) !important;
}
body .product-social-links .action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before,
body .product-addto-links .action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-text) !important; }
body .product-social-links .action:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-addto-links .action:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-gold-bright) !important; }
body .product-social-links .action:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before,
body .product-addto-links .action:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-gold-bright) !important; }

/* ---------- Form fields ---------- */
body input[type="text"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="email"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="password"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body input[type="tel"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="number"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="search"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body input[type="date"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="url"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input.input-text:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body select:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body textarea:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-field) !important;
  border: 1px solid var(--tsk-frame) !important;
  border-radius: 10px !important;
  color: var(--tsk-text) !important;
  font-family: var(--tsk-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  transition: border-color .25s var(--tsk-ease), background .25s var(--tsk-ease);
}
body input.input-text:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="text"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="email"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body input[type="password"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="tel"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body select:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  min-height: 48px;
  padding: 12px 16px !important;
}
body input:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::placeholder, body textarea:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::placeholder{ color: var(--tsk-text-muted) !important; }
body input:focus:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body select:focus:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body textarea:focus:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border-color: var(--tsk-gold-bright) !important;
  background: rgba(255,255,255,.09) !important;
  outline: none !important;
}
body select option:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-navy); color: var(--tsk-text); }
body .field .label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .field > label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body label.label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .fieldset > .field > .label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .fieldset > .fields > .field > .label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text-muted) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase;
}
body .field.required > .label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):after{ color: var(--tsk-gold-bright) !important; }
body input[type="checkbox"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body input[type="radio"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ accent-color: var(--tsk-gold-bright); }
body div.mage-error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .field-error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .mage-error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: #e6a07a !important; }
body input.mage-error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body select.mage-error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body textarea.mage-error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: #e6a07a !important; }

/* ---------- Product grid (category / search / widgets) ---------- */
body .products-grid .product-item-info:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .products-list .product-item-info:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-item .product-item-info:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 2px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
  transition: transform .45s var(--tsk-ease), box-shadow .45s var(--tsk-ease), border-color .45s var(--tsk-ease);
  overflow: hidden;
}
body .products-grid .product-item-info:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-item .product-item-info:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  transform: translateY(-4px);
  border-color: rgba(214,158,92,.45) !important;
  box-shadow: 0 28px 60px rgba(0,0,0,.45);
}
body .product-item-details:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-item .product-item-details:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: transparent !important; padding: 16px 18px 20px; }
body .product-item-name:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product-item-name a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-item-link:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product-name:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product-name a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body h3.product-name:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .04em;
}
body .product-item-link:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; }
body .product-item-photo:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .product-image-container:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-ink-deep) !important; }
body .price-box .price:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .price:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; font-weight: 400 !important; }

/* Toolbar (sort / limiter / pages) */
body .toolbar:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .toolbar-products:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: transparent !important; color: var(--tsk-text-soft) !important; border-color: var(--tsk-frame-soft) !important; }
body .toolbar .modes-mode:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .toolbar .sorter-action:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text) !important; border-color: var(--tsk-frame) !important; background: transparent !important; }
body .toolbar .modes-mode.active:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; border-color: var(--tsk-gold-bright) !important; }
body .pages .item a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .pages .item strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important; color: var(--tsk-text) !important;
  border: 1px solid var(--tsk-frame) !important; border-radius: 999px !important;
}
body .pages .item.current strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-gold-bright) !important; color: var(--tsk-ink) !important; border-color: var(--tsk-gold-bright) !important; }

/* Sidebar / layered navigation */
body .sidebar:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .sidebar .block:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block.filter:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .filter-options:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .filter-options-content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .filter-options-item:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .block-category-list:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .sidebar .block-content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  color: var(--tsk-text-soft) !important;
  border-color: var(--tsk-frame-soft) !important;
}
body .sidebar .block:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block.filter .filter-options-item:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 2px;
  background: var(--tsk-navy) !important;
}
body .sidebar a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .filter-options-content a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft) !important; }
body .sidebar a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .filter-options-content a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; }
body .filter-options-content .count:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-muted) !important; }

/* ---------- Product page ---------- */
body .product-info-main:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-info-main .product-info-stock-sku:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product-info-main .product.attribute.overview:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft) !important; }
body .product-info-main .product-reviews-summary a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-muted) !important; }
body .fotorama__stage:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .fotorama__nav:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .fotorama__nav-wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .gallery-placeholder:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .fotorama__wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-ink) !important; }
body .fotorama__thumb:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-ink-deep) !important; }
body .fotorama__thumb-border:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-gold-bright) !important; }
body .fotorama__caption__wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: rgba(18,16,13,.8) !important; color: var(--tsk-text) !important; }

/* Tabs */
body .product.data.items:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame-soft) !important; }
body .product.data.items > .item.title > .switch:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  color: var(--tsk-text-muted) !important;
  padding: 14px 4px !important;
  margin-right: 28px;
}
body .product.data.items > .item.title.active > .switch:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .product.data.items > .item.title > .switch:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-gold-bright) !important;
  border-bottom-color: var(--tsk-gold-bright) !important;
}
body .product.data.items > .item.content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border-color: var(--tsk-frame-soft) !important;
  color: var(--tsk-text-soft) !important;
  font-size: 15px;
  line-height: 1.75;
}
body .product.info.detailed:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame-soft) !important; }

/* Tables (attributes, account grids, cart) */
body table:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .data.table:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft) !important; background: transparent !important; }
body table th:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body table td:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .data.table > thead > tr > th:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .data.table > tbody > tr > td:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .data.table > tbody > tr > th:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border-color: var(--tsk-frame-soft) !important;
  background: transparent !important;
}
body .additional-attributes th:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body table th:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text) !important;
  font-weight: 500 !important;
  letter-spacing: .08em;
}

/* Amenities / features lists on property pages */
body [class*="propertyAmenities"]:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body [class*="propertyAmenities"] *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft); }
body .propertyAmenities--title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text) !important; }

/* Reviews */
body .review-list:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .review-add:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block.review-add:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .review-form:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: transparent !important; color: var(--tsk-text-soft) !important; }
body .rating-summary .rating-result:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-frame) !important; }
body .rating-summary .rating-result > span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-gold-bright) !important; }

/* ---------- Customer account / login / register ---------- */
body .block-customer-login:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block-new-customer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .form-create-account:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .form.password.forget:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .form.password.reset:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .account .column.main .block:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block-dashboard-info .box:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .block-dashboard-addresses .box:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .form-edit-account:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .form-address-edit:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .login-container .block:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 2px;
  padding: clamp(20px, 3vw, 40px) !important;
  color: var(--tsk-text-soft) !important;
}
/* Login / register wrapper is painted pure black by the theme */
body .login-container:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
  display: flow-root;   /* contain the floated login / register blocks */
}
body .login-container .block:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border: 0 !important; background: transparent !important; }
/* "or" divider between login and social buttons */
body .login-container .block-separator h2 span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  color: var(--tsk-text-muted) !important;
  font-size: 11px !important;
  letter-spacing: .28em;
  text-transform: uppercase;
  padding: 0 14px;
}
body .login-container .block-separator .line:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before,
body .login-container .block-separator .line:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):after,
body .login-container .block-separator h2:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before,
body .login-container .block-separator h2:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):after{ border-color: var(--tsk-frame) !important; background-color: var(--tsk-frame) !important; }
body .login-container hr:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .login-container [class*="separator"] hr:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame) !important; }
body .page-title-wrapper:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame-soft) !important; }
body .login-container .block .block-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .account .column.main .block .block-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame-soft) !important; }

body .account-nav:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block-collapsible-nav .content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .account-nav .content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
}
body .account-nav .item a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .account-nav .item > strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text-soft) !important;
  border-color: transparent !important;
  letter-spacing: .06em;
}
body .account-nav .item.current a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .account-nav .item.current strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-gold-bright) !important;
  border-left-color: var(--tsk-gold-bright) !important;
}
body .account-nav .item a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: rgba(255,255,255,.04) !important; color: var(--tsk-text) !important; }

/* Dashboard boxes (Porto paints title/content/actions light grey) */
body .box:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .box .box-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .box .box-content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .box .box-actions:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .block-dashboard-info .box-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block-dashboard-addresses .box-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border-color: var(--tsk-frame-soft) !important;
  color: var(--tsk-text-soft) !important;
}
body .box:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 2px;
  background: rgba(255,255,255,.02) !important;
}
body .box .box-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-bottom: 1px solid var(--tsk-frame-soft) !important; }
body .box .box-content:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .box .box-content *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text) !important; font-size: 15px; }
body .box .box-actions:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-top: 1px solid var(--tsk-frame-soft) !important; }
body .box .box-actions a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; letter-spacing: .12em; text-transform: uppercase; font-size: 11px; }

/* Account tabs (My Account / Wish List / Address Book …) — pill nav like the landing page */
body .nav.items .nav.item a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .nav.items .nav.item strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-family: var(--tsk-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: var(--tsk-text-soft) !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  background: transparent !important;
}
body .nav.items .nav.item:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: transparent !important; border-radius: 999px; }
body .nav.items .nav.item a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; }
body .nav.items .nav.item.current:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .nav.items .nav.item.current strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-gold-bright) !important;
  color: var(--tsk-ink) !important;
}

/* ---------- Messages ---------- */
body .message:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .message.info:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .message.notice:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .message.success:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .message.warning:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .message.error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame) !important;
  border-left: 3px solid var(--tsk-gold-bright) !important;
  color: var(--tsk-text) !important;
  border-radius: 2px;
}
body .message.error:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-left-color: #e6a07a !important; }
body .message > *:first-child:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-gold-bright) !important; }

/* ---------- Modals & popups (inquiry form, social login, quick view) ---------- */
body .modal-popup .modal-inner-wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .modal-slide .modal-inner-wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .modal-custom .modal-inner-wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body #social-login-popup:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .mfp-content .block:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .fancybox-skin:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  color: var(--tsk-text-soft) !important;
  border: 1px solid var(--tsk-frame-soft);
  box-shadow: 0 30px 80px rgba(0,0,0,.6) !important;
}
body .modal-header:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .modal-footer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame-soft) !important; }
body .modal-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text) !important; font-weight: 300 !important; }
body .modal-popup .action-close:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before,
body .modal-slide .action-close:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *):before{ color: var(--tsk-text) !important; }
body #social-login-popup .social-login-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body #request-popup .social-login-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-ink) !important;
  color: var(--tsk-gold-bright) !important;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-size: 12px;
}
body .modals-overlay:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: rgba(12,10,8,.78) !important; }

/* ---------- Footer ---------- */
body .page-footer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-footer .footer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .footer-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-middle:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .footer-bottom:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-footer) !important;
  color: rgba(228,223,211,.78) !important;
  border-color: var(--tsk-frame) !important;
}
body .page-footer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-top: 1px solid var(--tsk-frame) !important; }
body .footer-top:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-bottom: 1px solid var(--tsk-frame-soft) !important; }
body .footer-bottom:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-top: 1px solid var(--tsk-frame-soft) !important; }
body .page-footer p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .page-footer li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .page-footer address:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-footer .contact-info:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .page-footer .contact-info *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: rgba(228,223,211,.78) !important;
  font-weight: 300;
}
body .page-footer a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: rgba(228,223,211,.78) !important; }
body .page-footer a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; }
body .page-footer .contact-info b:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-footer .contact-info strong:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-footer .contact-info .label:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-gold-soft) !important;
  font-size: 11px;
  font-weight: 500 !important;
  letter-spacing: .22em;
  text-transform: uppercase;
}
body .page-footer .share-links a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .page-footer .social-icons a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border: 1px solid var(--tsk-frame) !important;
  border-radius: 999px !important;
  color: var(--tsk-text) !important;
}
body .page-footer .share-links a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .page-footer .social-icons a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border-color: var(--tsk-gold-bright) !important;
  color: var(--tsk-gold-bright) !important;
}
body .page-footer .block-subscribe input:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-footer .newsletter input:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body #footer_newsletter:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-radius: 999px !important; padding-left: 44px !important; }
body #totop:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame) !important;
  color: var(--tsk-text) !important;
  border-radius: 999px !important;
}

/* ---------- Misc surfaces that Porto paints white ---------- */
body .block-search .control:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .block-search input:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .page-header .block-search .block-content,
body .page-header .search-area{
  background: transparent !important;
}
body .loading-mask .loader > p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text) !important; }
body .ui-tooltip:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .tooltip-inner:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-navy) !important; color: var(--tsk-text) !important; }
body hr:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-color: var(--tsk-frame-soft) !important; }
body .cms-page-view .column.main:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .cms-page-view .column.main *:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: inherit; }
body .cms-page-view .column.main:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft); }

/* ============================================================
   Region cards on the Executive / Premium / Business pages
   Modelled on the investor portal's partner tiles (.partner-tile):
   soft ink card, thin frame, gold bar that sweeps in on hover,
   gold tag + name + description, lift on hover.
============================================================ */
body .tsk-region-page:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ max-width: 1240px; margin: 0 auto; padding: 8px 0 72px; }
body .tsk-region-intro:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  max-width: 620px;
  margin: 0 0 36px;
  font-size: 17px !important;
  line-height: 1.7;
  color: var(--tsk-text-soft) !important;
}
body .tsk-region-tiles:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
body a.tsk-region-tile:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--tsk-navy-soft);
  border: 1px solid var(--tsk-frame-soft);
  border-radius: 6px;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  transition: border-color .4s ease, transform .4s ease, box-shadow .4s ease;
}
body a.tsk-region-tile:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--tsk-gold), var(--tsk-gold-soft));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
  z-index: 2;
}
body a.tsk-region-tile:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body a.tsk-region-tile:focus-visible:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  border-color: var(--tsk-gold);
  transform: translateY(-6px);
  box-shadow: 0 28px 64px rgba(0,0,0,.45);
  outline: none;
}
body a.tsk-region-tile:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::before,
body a.tsk-region-tile:focus-visible:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::before{ transform: scaleX(1); }

body .tsk-region-tile-media:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: relative;
  aspect-ratio: 16 / 10;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid var(--tsk-frame-soft);
  overflow: hidden;
}
body .tsk-region-tile-media img:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.9) brightness(.92);
  transition: transform .8s var(--tsk-ease), filter .5s ease;
}
/* bottom fade so the photo blends into the card, as on the portal */
body .tsk-region-tile-media:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::after{
  content: "";
  position: absolute; inset: auto 0 0 0;
  height: 45%;
  background: linear-gradient(to bottom, rgba(61,50,38,0), var(--tsk-navy-soft));
  pointer-events: none;
}
body a.tsk-region-tile:hover .tsk-region-tile-media img:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ transform: scale(1.04); filter: saturate(1) brightness(1); }

body .tsk-region-tile-body:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  padding: 22px 28px 28px;
}
body .tsk-region-tile-tag:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--tsk-gold) !important;
  font-weight: 700;
}
body .tsk-region-tile-name:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: 22px;
  letter-spacing: .02em;
  color: var(--tsk-gold-soft) !important;
  font-weight: 700;
  line-height: 1.25;
}
body .tsk-region-tile-desc:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: 13.5px;
  line-height: 1.62;
  color: rgba(237,232,220,.82) !important;
}
body .tsk-region-tile-places:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: 12px;
  line-height: 1.6;
  color: var(--tsk-text-muted) !important;
  padding-top: 12px;
  border-top: 1px solid var(--tsk-frame-soft);
}
body .tsk-region-tile-cta:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  margin-top: auto;
  padding-top: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--tsk-text) !important;
  transition: color .3s ease, letter-spacing .3s ease;
}
body .tsk-region-tile-cta:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::after{ content: "  \2192"; color: var(--tsk-gold-bright); }
body a.tsk-region-tile:hover .tsk-region-tile-cta:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-gold-bright) !important; letter-spacing: .24em; }

@media (max-width: 980px){ body .tsk-region-tiles:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){
  body .tsk-region-tiles:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: 1fr; }
  body .tsk-region-tile-body:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ padding: 20px 22px 24px; }
}

/* ============================================================
   Navigation — matches the investor portal's .utility-bar
   Full-width bar, white logo left, links centred, Invest Now pill right.
   (portal: styles.css "00 · Utility bar" + dark theme scrolled state)
============================================================ */
:root{ --tsk-pad-x: clamp(20px, 4vw, 56px); }

body .page-header,
body .page-header.type3,
body .page-header.sticky-header{
  background: rgba(18,16,13,.92) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--tsk-frame) !important;
  box-shadow: none !important;
  color: var(--tsk-text) !important;
  width: 100%;
}
/* the bar spans the whole page (Porto boxes it at 1140px) */
body .page-header .header.content{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px var(--tsk-pad-x) !important;
  background: transparent !important;
  position: relative;
}
body .page-header .logo img.tsk-logo-white{
  height: 30px !important;
  width: auto !important;
  max-width: none !important;
  display: block;
}

@media (min-width: 768px){
  /* three columns: logo | menu (centred on the page) | account + Invest Now */
  body .page-header .header.content{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 24px;
    min-height: 66px;
  }
  body .page-header .header.content > .logo{ justify-self: start; }
  body .page-header .header.content > .nav-sections{ justify-self: center; }
  body .page-header .header.content > .panel.header{ justify-self: end; }
  body .page-header .header.content > :not(.logo):not(.nav-sections):not(.panel){ grid-column: 1 / -1; }
  body .page-header .header.content::before,
  body .page-header .header.content::after{ display: none !important; }

  body .page-header .logo{
    float: none !important;
    order: 0;
    flex: 0 0 auto;
    margin: 0 !important;
    max-width: none !important;
    display: flex; align-items: center;
  }

  /* centred menu */
  body .page-header .nav-sections{
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    position: static !important;
  }
  body .page-header .nav-sections-items,
  body .page-header .nav-sections-item-content{ background: transparent !important; position: static !important; }
  body .page-header .navigation,
  body .page-header .sw-megamenu.navigation{
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    position: static !important;
  }
  body .page-header .navigation > ul{
    display: flex !important;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: clamp(14px, 1.45vw, 28px);
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
  }
  body .page-header .navigation li.level0{
    margin: 0 !important;
    position: static !important;
    float: none !important;
  }

  /* right side: account / search / Invest Now */
  body .page-header .panel.header{
    order: 2;
    flex: 0 0 auto;
    position: static !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body .page-header .panel.header .top-panel{
    display: flex !important;
    align-items: center;
    gap: 18px;
    margin: 0 !important;
  }
  body .page-header .panel.header .bottom-panel:empty{ display: none; }
  body .page-header .greet.welcome,
  body .page-header .greet.welcome span{
    text-transform: none !important;
    letter-spacing: .04em !important;
    font-size: 12.5px !important;
    color: var(--tsk-text-soft) !important;
    white-space: nowrap;
  }
  body .page-header .panel.header .header.links{
    display: flex !important;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
  }
  body .page-header .panel.header .header.links > li{ margin: 0 !important; padding: 0 !important; border: 0 !important; }
}
/* The portal's bar has no greeting; hide it so the centred menu keeps its room (account icon + menu stay) */
@media (min-width: 768px){
  body .page-header .panel.header .greet.welcome{ display: none !important; }
}

/* Menu links: portal .util-nav a — 13.2px, .06em, weight 400, not uppercase, sliding underline */
body .page-header .navigation .level0 > a.level-top,
body .page-header .sw-megamenu.navigation li.level0 > a.level-top{
  font-family: var(--tsk-sans) !important;
  font-size: 13.2px !important;
  letter-spacing: .06em !important;
  font-weight: 400 !important;
  text-transform: none !important;
  color: var(--tsk-text) !important;
  line-height: 1.65 !important;
  padding: 0 0 4px !important;
  white-space: nowrap;
  position: relative;
  background: transparent !important;
  transition: color .35s var(--tsk-ease) !important;
}
body .page-header .navigation .level0 > a.level-top > span{ color: inherit !important; }
body .page-header .navigation .level0 > a.level-top::after{
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .4s var(--tsk-ease), background .3s ease;
}
body .page-header .navigation .level0:hover > a.level-top,
body .page-header .navigation .level0 > a.level-top:hover,
body .page-header .navigation .level0.active > a.level-top{ color: var(--tsk-gold) !important; }
body .page-header .navigation .level0:hover > a.level-top::after,
body .page-header .navigation .level0 > a.level-top:hover::after{ transform: scaleX(1); transform-origin: left center; }
/* Porto's dropdown caret next to "Destinations" */
body .page-header .navigation .level0.parent > a.level-top:before,
body .page-header .navigation .level0.parent > a.level-top > .ui-menu-icon{ color: inherit !important; }

/* Invest Now — portal .cta-pill */
body .page-header .tsk-cta-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--tsk-gold) !important;
  color: #fff !important;
  padding: 11px 22px;
  font-family: var(--tsk-sans) !important;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.2;
  border-radius: 999px;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background .25s ease, transform .25s ease;
}
body .page-header .tsk-cta-pill:hover,
body .page-header .tsk-cta-pill:focus-visible{
  background: var(--tsk-gold-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
@media (max-width: 767px){
  /* phone: logo left; Invest Now, account and menu toggle right (portal mobile bar) */
  body .page-header .header.content{
    display: flex !important;
    align-items: center;
    padding: 12px 16px !important;
    min-height: 60px;
  }
  body .page-header .header.content::before,
  body .page-header .header.content::after{ display: none !important; }
  body .page-header .logo{ float: none !important; margin: 0 !important; order: 0; flex: 0 0 auto; display: flex !important; align-items: center; align-self: center; position: static !important; }
  body .page-header .logo img.tsk-logo-white{ height: 26px !important; }
  body .page-header .panel.header{
    order: 2;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    width: auto !important;
  }
  body .page-header .panel.header .top-panel{ display: flex !important; align-items: center; gap: 14px; margin: 0 !important; }
  body .page-header .panel.header .tsk-cta-pill{ order: 1; padding: 9px 14px; font-size: 10px; letter-spacing: .08em; gap: 5px; }
  body .page-header .panel.header .tsk-account{ order: 2; width: 28px; height: 28px; }
  body .page-header .panel.header .nav-toggle:before{ font-size: 22px !important; line-height: 1 !important; }
  body .page-header .panel.header .nav-toggle{ order: 3; position: static !important; margin: 0 !important; display: block; }
  body .page-header .panel.header .header.links{ display: none !important; }
}

/* Destinations dropdown: full-width panel under the bar, with generous padding */
@media (min-width: 768px){
  body .page-header .sw-megamenu.navigation li.level0.fullwidth > .level0.submenu,
  body .page-header .sw-megamenu.navigation li.level0.staticwidth > .level0.submenu{
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    top: 100% !important;
    margin: 0 !important;
    padding: 44px var(--tsk-pad-x) 52px !important;
    background: rgba(18,16,13,.97) !important;
    border: 0 !important;
    border-top: 1px solid var(--tsk-frame) !important;
    border-bottom: 1px solid var(--tsk-frame) !important;
    border-radius: 0 !important;
    box-shadow: 0 30px 60px rgba(0,0,0,.45) !important;
  }
  body .page-header .sw-megamenu.navigation li.level0.fullwidth > .level0.submenu > .container{
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  body .page-header .sw-megamenu.navigation li.level0.fullwidth .submenu .row{ row-gap: 28px; }
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level1{ padding: 0 20px 8px 0 !important; margin-bottom: 14px !important; }
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level1 > a{
    display: inline-block;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--tsk-frame-soft);
    color: var(--tsk-gold-bright) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
  }
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level2 > a,
  body .page-header .sw-megamenu.navigation li.level0 .submenu .subchildmenu li:not(.level1) > a{
    display: block;
    padding: 6px 0 !important;
    font-size: 13.5px !important;
    font-weight: 300 !important;
    letter-spacing: .04em !important;
    text-transform: none !important;
    line-height: 1.5 !important;
    color: var(--tsk-text-soft) !important;
  }
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level2 > a:hover{ color: var(--tsk-gold) !important; }
  /* country lists: evenly spaced wrapping rows instead of floated items with " |" separators */
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level1 > ul.subchildmenu{
    display: flex !important;
    flex-wrap: wrap;
    gap: 2px 22px;
    padding: 0 !important;
  }
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level2{ float: none !important; }
  body .page-header .sw-megamenu.navigation li.level0 .submenu li.level2 > a::after{ content: none !important; }
}

/* ============================================================
   Fixed navigation — pinned to the top like the portal's .utility-bar
   The page is pushed down by --tsk-header-h (kept in sync by a small
   script in tsk-brand-head.phtml). The blur sits on a ::before layer so
   the header doesn't become the containing block for the fixed mobile menu.
============================================================ */
body .page-header,
body .page-header.type3,
body .page-header.sticky-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;          /* Porto's sticky script sets an inline height on scroll */
  z-index: 900 !important;
  margin: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
body .page-header::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(18,16,13,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  pointer-events: none;
}
/* Porto's sticky state must not re-position or animate the inner bar */
body .page-header.sticky-header .header.content,
body .page-header.sticky-header-active .header.content{
  position: relative !important;
  top: auto !important;
  transform: none !important;
  animation: none !important;
}
body .page-wrapper:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ padding-top: var(--tsk-header-h, 67px) !important; }
/* in-page anchors land below the bar */
html{ scroll-padding-top: calc(var(--tsk-header-h, 67px) + 12px); }
/* Porto's sticky mode pins the menu (.nav-sections) itself full-width; keep it in the centred column */
@media (min-width: 768px){
  html body header.page-header.sticky-header .header.content > .nav-sections,
  html body header.page-header .header.content > .nav-sections{
    position: static !important;
    top: auto !important; left: auto !important; right: auto !important;
    width: auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
  html body header.page-header.sticky-header .header.content > .logo,
  html body header.page-header.sticky-header .header.content > .panel.header{
    position: static !important;
    transform: none !important;
  }
}
/* Porto injects a second "sticky logo" into the menu when scrolled; the bar already shows the white logo */
html body .page-header .navigation .sticky-logo{ display: none !important; }
/* Narrower desktops: centre the menu in the space between logo and actions so nothing overlaps */
@media (min-width: 768px) and (max-width: 1199px){
  html body .page-header .header.content{ grid-template-columns: auto minmax(0, 1fr) auto !important; column-gap: 20px; }
}
@media (min-width: 768px) and (max-width: 999px){
  html body .page-header .header.content{ column-gap: 14px; padding-left: 20px !important; padding-right: 20px !important; }
  html body .page-header .navigation > ul{ gap: 12px !important; }
  html body .page-header .navigation .level0 > a.level-top{ font-size: 12px !important; letter-spacing: .03em !important; }
  html body .page-header .navigation .level0 > a.level-top .fa{ display: none; }
  html body .page-header .tsk-cta-pill{ padding: 9px 14px; font-size: 10.5px; letter-spacing: .12em; }
  html body .page-header .panel.header .top-panel{ gap: 12px; }
}

/* ============================================================
   Home "Featured" carousel — same partner-style cards, no black panel
============================================================ */
body #featured-panel:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 56px 15px 24px !important;
}
body #featured-panel > h2.theme-color:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  color: var(--tsk-text) !important;
  font-weight: 300 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  text-align: left !important;
  margin: 0 0 28px !important;
}
body #featured-panel > h2.theme-color:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::before{
  content: "Hand-picked";
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--tsk-gold-bright);
}
body .tsk-featured:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .tsk-featured .owl-stage-outer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: transparent !important; }
body .tsk-featured .owl-stage-outer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ padding: 8px 0 12px; }   /* room for the hover lift + shadow */
/* equal-height cards */
body .tsk-featured .owl-stage:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: flex; }
body .tsk-featured .owl-item:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: flex; }
body .tsk-featured .owl-item > .item:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: flex; width: 100%; background: transparent !important; }
body .tsk-featured a.tsk-featured-tile:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ width: 100%; }
body .tsk-featured .tsk-region-tile-media img:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ width: 100% !important; height: 100% !important; }
/* feature bullets */
body .tsk-region-tile-bullets:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  list-style: none;
  margin: 4px 0 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--tsk-frame-soft);
  display: grid;
  gap: 6px;
}
body .tsk-region-tile-bullets li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: relative;
  margin: 0 !important;
  padding-left: 16px;
  font-size: 12.5px !important;
  line-height: 1.5;
  color: var(--tsk-text-soft) !important;
}
body .tsk-region-tile-bullets li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *)::before{
  content: "";
  position: absolute;
  left: 0; top: .6em;
  width: 6px; height: 6px;
  border: 1px solid var(--tsk-gold-bright);
  transform: rotate(45deg);
}
/* carousel dots */
body .tsk-featured .owl-dots:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin-top: 20px !important; }
body .tsk-featured .owl-dots .owl-dot span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-frame) !important; }
body .tsk-featured .owl-dots .owl-dot.active span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .tsk-featured .owl-dots .owl-dot:hover span:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ background: var(--tsk-gold-bright) !important; }
/* the carousel frame is given a fixed height sized for the old caption bars; let it fit the cards */
body .tsk-featured .owl-stage-outer:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .tsk-featured .owl-height:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ height: auto !important; max-height: none !important; }

/* Phone slide-out menu */
@media (max-width: 767px){
  html body .page-header .nav-sections{
    margin: 0 !important;
    top: 0 !important;
    background: var(--tsk-ink) !important;
    border-right: 1px solid var(--tsk-frame-soft) !important;
  }
  html body .page-header .nav-sections .navigation{ background: transparent !important; padding: 8px 0 !important; }
  html body .page-header .nav-sections .navigation li.level0{ border-top: 1px solid var(--tsk-frame-soft) !important; }
  html body .page-header .nav-sections .navigation li.level0 > a.level-top{
    display: block !important;
    padding: 16px 24px !important;
    font-size: 15px !important;
    letter-spacing: .04em !important;
  }
  html body .page-header .nav-sections .navigation li.level0 > a.level-top::after{ display: none; }
  html body .page-header .nav-sections .navigation .submenu a{ padding: 10px 24px 10px 36px !important; font-size: 14px !important; }
  html body .page-header .nav-sections-item-title{
    background: var(--tsk-ink-deep) !important;
    border-color: var(--tsk-frame-soft) !important;
  }
  html body .page-header .nav-sections-item-title.active{ background: var(--tsk-ink) !important; }
  html body .page-header .nav-sections-item-switch{
    color: var(--tsk-text) !important;
    font-size: 11px !important;
    letter-spacing: .24em !important;
    text-transform: uppercase;
  }
  html body .page-header .nav-sections-item-title.active .nav-sections-item-switch{ color: var(--tsk-gold-bright) !important; }
}

/* ============================================================
   Imported portal pages (CMS pages whose content is wrapped in #tsk-portal)
   Full-bleed like the portal: no Magento page title, breadcrumbs or boxed column.
============================================================ */
body:has(#tsk-portal, #tsk-design) .page-title-wrapper,
body:has(#tsk-portal, #tsk-design) .breadcrumbs{ display: none !important; }
body:has(#tsk-portal, #tsk-design) .page-main,
body:has(#tsk-portal, #tsk-design) .columns,
body:has(#tsk-portal, #tsk-design) .column.main{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body:has(#tsk-portal, #tsk-design) .page-main > .columns{ display: block !important; }
body #tsk-portal{ width: 100%; overflow-x: clip; }

/* ============================================================
   Site menu (= the home design header): Travel / Wellness dropdowns,
   Kingdom Map, Media, Social; account button + Invest Now on the right.
============================================================ */
/* the account icon replaces Porto's "Sign In" / customer name links in the bar */
html body header.page-header .panel.header .top-panel > ul.header.links{ display: none !important; }
html body header.page-header .tsk-account{
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  color: #fff !important; text-decoration: none !important;
  transition: color .35s cubic-bezier(.2,.7,.2,1);
}
html body header.page-header.tsk-scrolled .tsk-account{ color: #ede8dc !important; }
html body header.page-header .tsk-account:hover,
html body header.page-header .tsk-account:focus-visible{ color: var(--tsk-gold) !important; }
html body header.page-header .tsk-account svg{ display: block; }
/* Porto hides the first menu item (it used to be "Home"); Travel is first now */
html body .page-header .tsk-menu > ul > li.level0:first-child{ display: block !important; }
body .page-header .tsk-menu .tsk-caret{ margin-left: 6px; font-size: 9px; opacity: .8; }
@media (min-width: 768px){
  html body .page-header .tsk-menu > ul{ gap: 36px !important; }
  html body .page-header .tsk-menu .level0 > a.level-top{ font-size: 12.8px !important; letter-spacing: .05em !important; }
  /* dropdown panel, as the home design's .tskd-dropdown */
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop{ position: relative !important; }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop > .level0.submenu{
    display: block !important; position: absolute !important; top: 100% !important; left: -18px !important; right: auto !important;
    width: auto !important; min-width: 240px; padding: 8px !important; margin: 0 !important;
    background: var(--tsk-navy) !important; border: 1px solid var(--tsk-frame) !important; border-radius: 6px !important;
    box-shadow: 0 24px 50px -16px rgba(0,0,0,.6) !important;
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
  }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop:hover > .level0.submenu,
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop:focus-within > .level0.submenu{ opacity: 1; visibility: visible; transform: none; }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop > .level0.submenu::before,
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop > .level0.submenu::after{ display: none !important; }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu{ display: block !important; list-style: none; margin: 0 !important; padding: 0 !important; width: auto !important; }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu > li.level1{ display: block; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu > li.level1 > a{
    display: block !important; padding: 10px 12px !important; border-radius: 4px;
    color: var(--tsk-text) !important; text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap;
  }
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu > li.level1 > a:hover,
  html body header.page-header .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu > li.level1 > a:focus-visible{ background: var(--tsk-navy-soft) !important; }
}
html body header.page-header .sw-megamenu.navigation.tsk-menu li.tsk-drop .subchildmenu strong{ display: block; font-size: 13px !important; font-weight: 600; line-height: 1.4 !important; color: var(--tsk-text); }
html body header.page-header .sw-megamenu.navigation.tsk-menu li.tsk-drop .tsk-drop-desc{ display: block; margin-top: 2px; font-size: 11px !important; line-height: 1.4 !important; color: var(--tsk-text-muted); }
/* phone drawer: the whole Travel / Wellness row opens its list (sw_megamenu toggles .submenu.opened) */
@media (max-width: 767px){
  html body .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop > .open-children-toggle{ left: 0 !important; right: 0 !important; width: auto !important; z-index: 2; cursor: pointer; }
  html body .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop:has(> .submenu.opened) .tsk-caret{ display: inline-block; transform: rotate(180deg); }
  html body .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu > li.level1 > a{ padding: 10px 0 10px 16px !important; text-transform: none !important; letter-spacing: 0 !important; }
  html body .sw-megamenu.navigation.tsk-menu li.level0.tsk-drop .subchildmenu > li.level1 > a::before{ display: none !important; content: none !important; }
}
@media (min-width: 768px) and (max-width: 1099px){
  html body .page-header .tsk-menu > ul{ gap: 22px !important; }
}
/* Portrait tablets: menu drops to its own centred row under logo + actions */
@media (min-width: 768px) and (max-width: 979px){
  html body .page-header .header.content{ grid-template-columns: auto 1fr auto !important; row-gap: 6px; }
  html body .page-header .header.content > .logo{ grid-column: 1; grid-row: 1; }
  html body .page-header .header.content > .panel.header{ grid-column: 3; grid-row: 1; }
  html body .page-header .header.content > .nav-sections{ grid-column: 1 / -1 !important; grid-row: 2; justify-self: center; }
}
/* the portal footer brings its own spacing/background; the Magento wrapper just holds it */
body .page-footer:has(#tsk-portal-footer){ padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
body .page-header .tsk-menu,
body .page-header .nav-sections-item-content{ background: transparent !important; }

/* ============================================================
   Portal leak fixes: Porto/Bootstrap rules that reach portal markup through
   shared class names (.footer-bottom, .container, …) for properties the portal
   stylesheet never sets. Kept explicit and scoped to the portal wrappers.
============================================================ */
:is(#tsk-portal, #tsk-portal-2, #tsk-portal-footer) .footer-bottom,
:is(#tsk-portal, #tsk-portal-2, #tsk-portal-footer) .footer-top,
:is(#tsk-portal, #tsk-portal-2, #tsk-portal-footer) .footer-middle{ background: transparent !important; }

/* Home: the store's collections (tier cards + Featured) between the portal sections */
body .tsk-home-store{
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(64px, 8vw, 120px) var(--tsk-pad-x) clamp(40px, 5vw, 72px);
}
body .tsk-home-store-intro{ margin: 0 0 36px; }
body .tsk-home-eyebrow{
  margin: 0 0 14px !important;
  color: var(--tsk-gold-bright) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .32em;
  text-transform: uppercase;
}
body h2.tsk-home-title{
  margin: 0 !important;
  font-size: clamp(32px, 3.6vw, 52px) !important;
  font-weight: 300 !important;
  letter-spacing: .02em;
  line-height: 1.1;
}
body h2.tsk-home-title em{ color: var(--tsk-gold-bright); font-style: italic; }
body .tsk-home-store .home > .row{ margin-left: 0; margin-right: 0; }

/* ============================================================
   Header: transparent until scrolled (portal .utility-bar → .scrolled)
   The dark layer and hairline fade in once .tsk-scrolled is set (scrollY > 80).
============================================================ */
html body .page-header::before{ opacity: 0; transition: opacity .3s ease; }
html body header.page-header:not(.tsk-scrolled){ border-bottom-color: transparent !important; }
html body header.page-header{ transition: border-color .3s ease; }
html body header.page-header.tsk-scrolled::before,
html.nav-open body .page-header::before{ opacity: 1; }
/* nothing inside the bar paints its own background (the menu used to show a darker band) */
@media (min-width: 768px){
  html body header.page-header .nav-sections,
  html body header.page-header .nav-sections-items,
  html body header.page-header .nav-sections-item-content,
  html body header.page-header .navigation,
  html body header.page-header .tsk-menu > ul{ background: transparent !important; }
}
/* Pages that open with a portal hero start under the transparent bar, like the portal */
body:has(#tsk-portal, #tsk-design) .page-wrapper{ padding-top: 0 !important; }

/* ============================================================
   Menu link colours = portal .util-nav:
   white over the hero, #ede8dc once scrolled; gold (#c98a44) on hover,
   the sliding underline follows (currentColor). Selectors are deliberately
   specific enough to beat the base colour rule above and Porto's type3 rule.
============================================================ */
html body header.page-header .sw-megamenu.navigation li.level0 > a.level-top{
  color: #fff !important;
  transition: color .35s cubic-bezier(.2,.7,.2,1) !important;
}
html body header.page-header.tsk-scrolled .sw-megamenu.navigation li.level0 > a.level-top{ color: var(--tsk-text) !important; }
html body header.page-header .sw-megamenu.navigation li.level0:hover > a.level-top,
html body header.page-header .sw-megamenu.navigation li.level0 > a.level-top:hover,
html body header.page-header .sw-megamenu.navigation li.level0 > a.level-top:focus-visible{ color: var(--tsk-gold) !important; }
@media (max-width: 767px){   /* phone drawer keeps its own colours */
  html body header.page-header .nav-sections .sw-megamenu.navigation li.level0 > a.level-top{ color: var(--tsk-text) !important; }
}

/* Stays panel: keep it open while the pointer travels from the menu item down to the panel.
   The panel starts at the bottom of the bar, ~20px below the item's text; an invisible, full-width
   strip on top of the open panel bridges that gap (in any direction, e.g. diagonally to the right). */
@media (min-width: 768px){
  html body header.page-header .sw-megamenu.navigation li.level0.parent > .level0.submenu::before{
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0; right: 0;
    top: -24px; height: 24px;
    background: transparent !important;
    border: 0 !important;
    width: auto !important;
    transform: none !important;
  }
  /* and a little vertical hover room on the item itself, so the panel doesn't flicker at its edge */
  html body header.page-header .sw-megamenu.navigation li.level0.parent{ padding-bottom: 12px !important; margin-bottom: -12px !important; }
}

/* Featured carousel arrows: portal-style round ghost buttons, top-right, level with the heading */
body #featured-panel{ position: relative; }
body .tsk-featured .owl-carousel{ position: relative; }
body .tsk-featured .owl-nav{
  position: absolute !important;
  top: -86px !important;
  right: 0 !important;
  left: auto !important;
  display: flex !important;
  gap: 12px;
  margin: 0 !important;
  transform: none !important;
}
body .tsk-featured .owl-nav.disabled{ display: none !important; }
body .tsk-featured .owl-nav .owl-prev,
body .tsk-featured .owl-nav .owl-next{
  position: static !important;
  width: 46px !important;
  height: 46px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tsk-frame) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--tsk-text) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s ease !important;
}
body .tsk-featured .owl-nav .owl-prev:hover,
body .tsk-featured .owl-nav .owl-next:hover,
body .tsk-featured .owl-nav > :focus-visible{
  border-color: var(--tsk-gold) !important;
  color: var(--tsk-gold) !important;
  background: rgba(201,138,68,.08) !important;
  outline: none;
}
body .tsk-featured .owl-nav .owl-prev:hover{ transform: translateX(-2px); }
body .tsk-featured .owl-nav .owl-next:hover{ transform: translateX(2px); }
body .tsk-featured .owl-nav > *::before,
body .tsk-featured .owl-nav > *::after{ content: none !important; }   /* Porto's icon-font arrows */
body .tsk-featured .tsk-arrow{ display: block; line-height: 1; }
body .tsk-sr{ position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 767px){
  /* phones: arrows in a right-aligned row under the cards */
  body .tsk-featured .owl-nav{ position: static !important; justify-content: flex-end; margin: 18px 0 0 !important; }
}

/* ============================================================
   Login / register: the page title is the card's own heading
   (moved into the card by Magento_Customer/layout/customer_account_*.xml),
   styled like the portal's sign-in panel: gold eyebrow + light display title.
============================================================ */
body .login-container > .page-title-wrapper,
body.customer-account-create .page-title-wrapper{
  float: none !important;
  width: 100% !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}
body .login-container > .page-title-wrapper::before,
body.customer-account-create .page-title-wrapper::before{
  content: "Member Access";
  display: block;
  margin: 0 0 12px;
  color: var(--tsk-gold-bright);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .32em;
  text-transform: uppercase;
}
body .login-container > .page-title-wrapper .page-title,
body.customer-account-create .page-title-wrapper .page-title{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  font-weight: 300 !important;
  letter-spacing: .01em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  color: var(--tsk-text) !important;
}
/* the login card: title spans the top, forms below */
body .login-container{ padding: clamp(28px, 4vw, 48px) !important; }
body .login-container > .block{ padding: 0 !important; }
/* register page: title + form read as one card */
body.customer-account-create .page-title-wrapper{
  max-width: 720px;
  margin: 0 auto !important;
  padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 40px) 0 !important;
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  border-bottom: 0 !important;
}
body.customer-account-create .form-create-account{
  max-width: 720px;
  margin: 0 auto 64px !important;
  border-top: 0 !important;
}
/* register page: the theme paints the content column black with padding; the card is the only frame */
body.customer-account-create .column.main{
  background: transparent !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  float: none !important;
}
body.customer-account-create .page-title-wrapper,
body.customer-account-create .form-create-account{ max-width: none !important; }

/* Featured carousel: arrows only, no dots */
body .tsk-featured .owl-dots{ display: none !important; }
/* "or" divider on the register page (outside the card, on the page background) */
body.customer-account-create .block-separator h2 span{
  background: var(--tsk-ink) !important;
  color: var(--tsk-text-muted) !important;
  font-size: 11px !important;
  letter-spacing: .28em;
  text-transform: uppercase;
  padding: 0 14px;
}
body.customer-account-create .block-separator .line:before,
body.customer-account-create .block-separator .line:after,
body.customer-account-create .block-separator h2:before,
body.customer-account-create .block-separator h2:after{ border-color: var(--tsk-frame) !important; background-color: var(--tsk-frame) !important; }

/* Sign-up page = one card, identical to the login card:
   the content column is the card (title, form, "or" divider and social buttons inside);
   title and form carry no frames or backgrounds of their own. */
body.customer-account-create .column.main{
  background: var(--tsk-navy) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.45) !important;
  padding: clamp(28px, 4vw, 48px) !important;
  margin: 0 auto 64px !important;
}
body.customer-account-create .page-title-wrapper,
body.customer-account-create .form-create-account,
body.customer-account-create .form-create-account .fieldset{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.customer-account-create .page-title-wrapper{ margin-bottom: 28px !important; }
body.customer-account-create .form-create-account{ margin-bottom: 8px !important; }
body.customer-account-create .block-separator h2 span{ background: var(--tsk-navy) !important; }

/* Sign-up form: no section headings, two simple rows
   [ First name | Last name ] / [ Email | Password ], button full width.
   The password confirmation is hidden and filled automatically (Magento_Customer/templates/tsk-register-confirm.phtml). */
body.customer-account-create form.form-create-account{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 22px;
  width: 100% !important;
}
body.customer-account-create form.form-create-account > fieldset.fieldset{ display: contents !important; }
body.customer-account-create form.form-create-account .legend{ display: none !important; }
body.customer-account-create form.form-create-account .fieldset > .field{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.customer-account-create form.form-create-account .fieldset > .field .control,
body.customer-account-create form.form-create-account .fieldset > .field input.input-text{ width: 100% !important; }
body.customer-account-create form.form-create-account .field.confirmation{ display: none !important; }
body.customer-account-create form.form-create-account > .actions-toolbar{ grid-column: 1 / -1; margin: 8px 0 0 !important; padding: 0 !important; }
body.customer-account-create form.form-create-account > .actions-toolbar .primary,
body.customer-account-create form.form-create-account > .actions-toolbar .primary .action{ width: 100% !important; float: none !important; }
body.customer-account-create form.form-create-account > :not(fieldset):not(.actions-toolbar){ grid-column: 1 / -1; }
@media (max-width: 640px){
  body.customer-account-create form.form-create-account{ grid-template-columns: minmax(0, 1fr); }
}
/* Magento's register form has stray <br>s between fields; they'd take up grid cells */
body.customer-account-create form.form-create-account br{ display: none !important; }

/* ============================================================
   Listing pages: property cards = the "Explore the Kingdom" cards
   (.tsk-region-tile): soft ink card, thin frame, 6px radius, photo fading
   into the card, gold tag + gold name + description, text CTA; gold bar
   sweeps in and the card lifts on hover.
============================================================ */
body .column.main .products-grid .product-items{ display: flex; flex-wrap: wrap; }
body .column.main .products-grid .product-item{ display: flex !important; }
body .column.main .products-grid .product-item-info{
  position: relative;
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  background: var(--tsk-navy-soft) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 6px !important;
  overflow: hidden;
  box-shadow: none !important;
  transform: none;
  transition: border-color .4s ease, transform .4s ease, box-shadow .4s ease !important;
}
body .column.main .products-grid .product-item-info::before{
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--tsk-gold), var(--tsk-gold-soft));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
  z-index: 3;
}
body .column.main .products-grid .product-item-info:hover{
  border-color: var(--tsk-gold) !important;
  transform: translateY(-6px);
  box-shadow: 0 28px 64px rgba(0,0,0,.45) !important;
}
body .column.main .products-grid .product-item-info:hover::before{ transform: scaleX(1); }

/* photo: 16:10, fades into the card */
body .column.main .products-grid .product-item-photo{
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(255,255,255,.04) !important;
  border-bottom: 1px solid var(--tsk-frame-soft);
  margin: 0 !important;
}
body .column.main .products-grid .product-item-photo > a,
body .column.main .products-grid .product-item-photo .product-image-container,
body .column.main .products-grid .product-item-photo .product-image-wrapper{ display: block; width: 100% !important; height: 100% !important; padding: 0 !important; }
body .column.main .products-grid .product-item-photo img{
  width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover;
  filter: saturate(.9) brightness(.92);
  transition: transform .8s var(--tsk-ease), filter .5s ease;
}
body .column.main .products-grid .product-item-photo::after{
  content: ""; position: absolute; inset: auto 0 0 0; height: 45%;
  background: linear-gradient(to bottom, rgba(61,50,38,0), var(--tsk-navy-soft));
  pointer-events: none;
}
body .column.main .products-grid .product-item-info:hover .product-item-photo img{ transform: scale(1.04); filter: saturate(1) brightness(1); }

/* body */
body .column.main .products-grid .product-item-details{
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  padding: 22px 28px 28px !important;
  text-align: left !important;
  background: transparent !important;
}
body .column.main .tsk-card-tag{
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--tsk-gold) !important;
  font-weight: 700;
}
body .column.main .products-grid .product-item-name{ margin: 0 !important; text-align: left !important; }
body .column.main .products-grid .product-item-name a,
body .column.main .products-grid a.product-item-link{
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.25 !important;
  color: var(--tsk-gold-soft) !important;
  text-transform: none !important;
}
body .column.main .tsk-card-desc{
  margin: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.62 !important;
  color: rgba(237,232,220,.82) !important;
}
/* actions → text CTA like "Explore Europe →" */
body .column.main .products-grid .product-item-inner,
body .column.main .products-grid .product-item-actions{
  margin: auto 0 0 !important;
  padding: 8px 0 0 !important;
  position: static !important;
  background: transparent !important;
  border: 0 !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: auto !important;
  box-shadow: none !important;
}
body .column.main .products-grid .sparsh_product_inquiry_link,
body .column.main .products-grid .product-item-actions .action.primary{
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--tsk-text) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  transform: none !important;
  transition: color .3s ease, letter-spacing .3s ease !important;
}
body .column.main .products-grid .sparsh_product_inquiry_link::before,
body .column.main .products-grid .sparsh_product_inquiry_link i,
body .column.main .products-grid .sparsh_product_inquiry_link .fa{ display: none !important; }
body .column.main .products-grid .sparsh_product_inquiry_link::after{ content: "\2192"; color: var(--tsk-gold-bright); }
body .column.main .products-grid .product-item-info:hover .sparsh_product_inquiry_link{ color: var(--tsk-gold-bright) !important; letter-spacing: .24em !important; }

/* ============================================================
   Listing pages: filter sidebar = one card in the same style, no hover effect
============================================================ */
body .sidebar.sidebar-main{ border: 0 !important; background: transparent !important; padding: 0 !important; }
body .sidebar.sidebar-main .layered-filter-block-container{
  background: var(--tsk-navy-soft) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 6px !important;
  overflow: hidden;
  padding: 26px 28px 24px !important;
}
body .sidebar.sidebar-main .layered-filter-block-container .block,
body .sidebar.sidebar-main .block-category-list,
body .sidebar.sidebar-main .block.filter,
body .sidebar.sidebar-main .filter-options,
body .sidebar.sidebar-main .filter-options-item,
body .sidebar.sidebar-main .block-content,
body .sidebar.sidebar-main .block-title{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* "Italy" — card name */
body .sidebar.sidebar-main .block-category-list .block-title strong{
  display: block;
  margin: 0 0 18px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  color: var(--tsk-gold-soft) !important;
}
/* "Filter By Destination" — card tag */
body .sidebar.sidebar-main .dest-title{ margin: 0 0 10px !important; padding: 0 !important; }
body .sidebar.sidebar-main .dest-title strong{
  font-size: 10.5px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--tsk-gold) !important;
  font-weight: 700 !important;
}
body .sidebar.sidebar-main .category-filter select{ width: 100% !important; margin: 0 0 18px !important; }
/* destinations list — like the card's places list */
body .sidebar.sidebar-main .block-content.long-list{ border-top: 1px solid var(--tsk-frame-soft) !important; padding-top: 10px !important; }
body .sidebar.sidebar-main .block-content.long-list .items{ margin: 0 !important; padding: 0 !important; }
body .sidebar.sidebar-main .block-content.long-list .item{ margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .sidebar.sidebar-main .block-content.long-list .item a{
  display: block;
  padding: 7px 0 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: rgba(237,232,220,.82) !important;
  transition: color .3s ease;
}
body .sidebar.sidebar-main .block-content.long-list .item a:hover{ color: var(--tsk-gold-bright) !important; }
/* "Class" filter — a section inside the same card */
body .sidebar.sidebar-main .block.filter{ border-top: 1px solid var(--tsk-frame-soft) !important; margin-top: 14px !important; padding-top: 14px !important; }
body .sidebar.sidebar-main .filter-options-title{
  padding: 0 24px 0 0 !important;
  font-size: 10.5px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--tsk-gold) !important;
  font-weight: 700 !important;
  background: transparent !important;
}
body .sidebar.sidebar-main .filter-options-title::after{ color: var(--tsk-gold) !important; background: transparent !important; right: 0 !important; }
body .sidebar.sidebar-main .filter-options-content{ padding: 10px 0 0 !important; }

/* Filter card: no light frame, the portal's 6px radius, and clear space from the property grid */
body .sidebar.sidebar-main .layered-filter-block-container{ border: 0 !important; border-radius: 6px !important; box-shadow: none !important; }
@media (min-width: 768px){
  body.page-products .columns .sidebar-main{ padding-right: 28px !important; box-sizing: border-box !important; }
  body.page-products .columns .column.main{ padding-left: 0 !important; box-sizing: border-box !important; }
}

/* ============================================================
   Listing cards (Sparsh_ProductInquiry list override): subtitle, bullets,
   footer row = inquiry CTA left, round wishlist / compare icon buttons right
============================================================ */
body .tsk-listing .tsk-region-tile-bullets{ margin: 2px 0 0 !important; }
body .tsk-listing .tsk-card-footer{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto !important;
  padding-top: 14px !important;
}
body .tsk-listing .tsk-card-footer .product-item-actions{
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}
body .tsk-listing .tsk-card-footer .actions-primary:empty{ display: none; }
body .tsk-listing .tsk-card-footer .actions-secondary{
  display: flex !important;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  width: auto !important;
}
/* round ghost icon buttons (portal style) */
body .tsk-listing .actions-secondary a.action.towishlist,
body .tsk-listing .actions-secondary a.action.tocompare{
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--tsk-frame) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--tsk-text) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: none !important;
  transition: border-color .3s ease, color .3s ease, background .3s ease !important;
}
body .tsk-listing .actions-secondary a.action.towishlist > span,
body .tsk-listing .actions-secondary a.action.tocompare > span{
  position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
body .tsk-listing .actions-secondary a.action.towishlist::before,
body .tsk-listing .actions-secondary a.action.tocompare::before{
  content: "" !important;
  display: block !important;
  width: 16px; height: 16px;
  margin: 0 !important;
  background-color: currentColor !important;
  -webkit-mask: var(--tsk-icon) center / contain no-repeat;
          mask: var(--tsk-icon) center / contain no-repeat;
  font-size: 0 !important;
}
body .tsk-listing .actions-secondary a.action.towishlist::after,
body .tsk-listing .actions-secondary a.action.tocompare::after{ content: none !important; }
/* heart */
body .tsk-listing .actions-secondary a.action.towishlist{
  --tsk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}
/* compare: two opposing arrows */
body .tsk-listing .actions-secondary a.action.tocompare{
  --tsk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4 3 8l4 4'/%3E%3Cpath d='M3 8h13'/%3E%3Cpath d='m17 12 4 4-4 4'/%3E%3Cpath d='M21 16H8'/%3E%3C/svg%3E");
}
body .tsk-listing .actions-secondary a.action.towishlist:hover,
body .tsk-listing .actions-secondary a.action.tocompare:hover,
body .tsk-listing .actions-secondary a.action:focus-visible{
  border-color: var(--tsk-gold) !important;
  color: var(--tsk-gold) !important;
  background: rgba(201,138,68,.08) !important;
  outline: none;
}

/* ============================================================
   Account dropdown: one card in the new style, options stacked;
   "Sign Out" lives only here (hidden from the top bar when logged in)
============================================================ */
html body header.page-header.type3 div.top-panel > ul.header.links > li.authorization-link:has(> a[href*="logout"]){ display: none !important; }
html body header.page-header .customer-welcome{ position: relative !important; }
html body header.page-header .customer-welcome .customer-menu{
  position: absolute !important;
  top: calc(100% + 14px) !important;
  right: 0 !important;
  left: auto !important;
  min-width: 220px;
  margin: 0 !important;
  padding: 10px 0 !important;
  background: var(--tsk-navy-soft) !important;
  border: 1px solid var(--tsk-frame-soft) !important;
  border-radius: 6px !important;
  box-shadow: 0 28px 64px rgba(0,0,0,.45) !important;
  z-index: 950;
}
html body header.page-header .customer-welcome .customer-menu::before,
html body header.page-header .customer-welcome .customer-menu::after{ display: none !important; }   /* Porto's arrow tip */
html body header.page-header .customer-welcome .customer-menu ul.header.links{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body header.page-header .customer-welcome .customer-menu ul.header.links > li{
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
html body header.page-header .customer-welcome .customer-menu ul.header.links > li > a{
  display: block !important;
  padding: 10px 22px !important;
  color: rgba(237,232,220,.82) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  white-space: nowrap;
  background: transparent !important;
  transition: color .3s ease, background .3s ease;
}
html body header.page-header .customer-welcome .customer-menu ul.header.links > li > a:hover{
  color: var(--tsk-gold) !important;
  background: rgba(255,255,255,.04) !important;
}
/* Sign Out: last item, set apart by a hairline */
html body header.page-header .customer-welcome .customer-menu ul.header.links > li.authorization-link{
  margin-top: 6px !important;
  padding-top: 6px !important;
  border-top: 1px solid var(--tsk-frame-soft) !important;
}
html body header.page-header .customer-welcome .customer-menu ul.header.links > li.authorization-link::after{ content: none !important; }

/* Home hero video: no poster photo (it flashed before the video); the video fades in over the dark
   hero once its first frame is ready (class set by the script the import adds to the home page) */
#tsk-portal .tsk-hero-video{ opacity: 0 !important; transition: opacity .9s ease !important; }
#tsk-portal .tsk-hero-video.is-ready{ opacity: 1 !important; }
/* Porto draws a light frame around the sidebar with a pseudo-element */
body .sidebar.sidebar-main::before,
body .sidebar.sidebar-main::after{ display: none !important; content: none !important; }
/* card footer: the icon row only as wide as its two icons, no background */
body .tsk-listing .tsk-card-footer .product-item-actions{ flex: 0 0 auto !important; width: auto !important; }
body .tsk-listing .tsk-card-footer .actions-secondary{
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* footer row must beat the generic ".products-grid .product-item-inner { display:block }" card rule */
body .column.main .products-grid.tsk-listing .product-item-inner.tsk-card-footer{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}
body .column.main .products-grid.tsk-listing .tsk-card-footer .product-item-actions{ margin: 0 !important; padding: 0 !important; }
body .column.main .products-grid.tsk-listing .tsk-card-footer .sparsh_product_inquiry_link{ height: 36px !important; line-height: 36px !important; align-self: center; }

/* Filter sidebar scrolls with the page. Porto's sticky-sidebar script assumed a 60px header and slid
   the card up under our fixed bar; its inline "position:relative; top:…" is neutralised here. */
body.page-products .columns .sidebar.sidebar-main{
  position: static !important;
  top: auto !important;
}
/* account dropdown: Porto's white/grey arrow tip sits on the inner list; links left-aligned */
html body header.page-header .customer-welcome .customer-menu ul.header.links::before,
html body header.page-header .customer-welcome .customer-menu ul.header.links::after{ display: none !important; content: none !important; }
html body header.page-header .customer-welcome .customer-menu ul.header.links > li > a{ text-align: left !important; }
html body header.page-header .customer-welcome .customer-menu{ background-color: var(--tsk-navy-soft) !important; }
/* must outrank the earlier "body .page-header .header.links .customer-menu" (ink) rule */
html body header.page-header .panel.header .header.links .customer-welcome .customer-menu{ background: var(--tsk-navy-soft) !important; }
/* Porto positions the inner list absolutely, which collapses the card; keep it in flow */
html body header.page-header .panel.header .header.links .customer-welcome .customer-menu ul.header.links{
  position: static !important;
  top: auto !important; left: auto !important; right: auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* Home, member-office band: the portal's floating "Invest Now" pill sits centred under the band's
   buttons instead (never wider than "Contact the Member Office"); always visible, no scroll reveal. */
#tsk-portal-2 .tsk-band-invest-row{ display: flex; justify-content: center; margin-top: 22px; }
#tsk-portal-2 a.sticky-invest.tsk-band-invest{
  position: static !important;
  inset: auto !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  width: auto !important;
  max-width: 326px;
  box-shadow: none !important;
}

/* ============================================================
   Property page: photo mosaic (60%) | subtitle + grouped feature bullets (40%)
============================================================ */
@media (min-width: 992px){
  body.catalog-product-view .product-info-main + .product.media,
  body.catalog-product-view .product.media{ width: 60% !important; float: left !important; padding-right: 40px !important; box-sizing: border-box; }
  body.catalog-product-view .product-info-main{ width: 40% !important; float: right !important; box-sizing: border-box; }
}
/* mosaic: a lead row (film at its own ratio, or a large photo + two stacked tiles), then rows of three 3:2 photos */
body .tsk-mosaic{ display: flex; flex-direction: column; gap: 10px; border-radius: 6px; overflow: hidden; }
body .tsk-mosaic-lead{ display: flex; gap: 10px; }
body .tsk-mosaic-lead > .tsk-mosaic-tile{ flex: 2 1 0; aspect-ratio: var(--tsk-ratio, 3 / 2); }
body .tsk-mosaic-lead--wide > .tsk-mosaic-tile{ flex-basis: 100%; }
body .tsk-mosaic-side{ flex: 1 1 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
body .tsk-mosaic-side > .tsk-mosaic-tile{ flex: 1 1 0; }
body .tsk-mosaic-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body .tsk-mosaic-grid > .tsk-mosaic-tile{ aspect-ratio: 3 / 2; }
body .tsk-mosaic-tile{
  position: relative;
  display: block;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--tsk-navy-soft) !important;
  overflow: hidden;
  cursor: zoom-in;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  box-shadow: none !important;
}
body .tsk-mosaic-tile.is-video{ cursor: pointer; }
body .tsk-mosaic-tile img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.92) brightness(.95);
  transition: transform .8s var(--tsk-ease), filter .5s ease;
}
body .tsk-mosaic-tile:hover img,
body .tsk-mosaic-tile:focus-visible img{ transform: scale(1.04); filter: none; }
body .tsk-mosaic-tile:focus-visible{ outline: 2px solid var(--tsk-gold); outline-offset: -2px; }
body .tsk-mosaic-more{
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(18,16,13,.55);
  color: var(--tsk-text);
  font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
}
body .tsk-mosaic-more--phone{ display: none !important; }
/* phones: lead (full width) + one row of three */
@media (max-width: 767px){
  body .tsk-mosaic-lead > .tsk-mosaic-tile{ flex-basis: 100%; }
  body .tsk-mosaic-side{ display: none; }
  body .tsk-mosaic-grid > .tsk-mosaic-tile:nth-child(n+4){ display: none; }
  body .tsk-mosaic .tsk-mosaic-more--phone{ display: flex !important; }
  body .tsk-mosaic-grid > .tsk-mosaic-tile:nth-child(3) .tsk-mosaic-more:not(.tsk-mosaic-more--phone){ display: none; }
}

/* full-screen viewer */
html.tsk-viewer-open{ overflow: hidden; }
body .tsk-viewer{
  position: fixed; inset: 0; z-index: 10000;
  display: grid; grid-template-columns: 72px 1fr 72px; align-items: center;
  background: rgba(12,10,8,.94);
}
body .tsk-viewer[hidden]{ display: none; }
body .tsk-viewer-stage{ margin: 0; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 48px 0; box-sizing: border-box; }
body .tsk-viewer-stage img{ max-width: 100%; max-height: calc(100vh - 120px); object-fit: contain; border-radius: 4px; }
body .tsk-viewer-count{ color: var(--tsk-text-muted); font-size: 12px; letter-spacing: .2em; }
body .tsk-viewer button{
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 48px !important; height: 48px !important; min-height: 0 !important; padding: 0 !important; margin: 0 auto !important;
  border: 1px solid var(--tsk-frame) !important; border-radius: 999px !important;
  background: transparent !important; color: var(--tsk-text) !important;
  font-size: 20px !important; line-height: 1 !important; box-shadow: none !important;
}
body .tsk-viewer button:hover{ border-color: var(--tsk-gold) !important; color: var(--tsk-gold) !important; }
body .tsk-viewer-close{ position: absolute !important; top: 20px; right: 24px; font-size: 26px !important; }

/* right column order: title, subtitle + features, then Inquire / icons; hide empty review stars */
body.catalog-product-view .product-info-main{ display: flex !important; flex-direction: column; }
body.catalog-product-view .product-info-main > .prev-next-products{ order: 0; }
body.catalog-product-view .product-info-main > .page-title-wrapper{ order: 1; }
body.catalog-product-view .product-info-main > .tsk-product-intro{ order: 2; }
body.catalog-product-view .product-info-main > .product-add-form,
body.catalog-product-view .product-info-main > .product-info-price{ order: 3; }
body.catalog-product-view .product-info-main > .product-social-links{ order: 4; }
body.catalog-product-view .product-info-main > *{ order: 5; }
body.catalog-product-view .product-info-main .product-reviews-summary.empty{ display: none !important; }

body .tsk-product-subtitle{
  margin: 6px 0 22px !important;
  font-size: 10.5px !important;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--tsk-gold) !important;
  font-weight: 700 !important;
}
body .tsk-product-features{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 28px;
  padding: 24px 0;
  border-top: 1px solid var(--tsk-frame-soft);
  border-bottom: 1px solid var(--tsk-frame-soft);
  margin-bottom: 24px;
}
body h3.tsk-product-feature-title{
  margin: 0 0 12px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--tsk-gold-bright) !important;
}
body .tsk-product-feature-list{ border-top: 0 !important; padding-top: 0 !important; margin: 0 !important; }
body .tsk-product-feature-list li{ font-size: 13.5px !important; }
/* features now live in the right column; don't repeat them in the Details tab */
body.catalog-product-view .product.attribute.description .propertyAmenities--title,
body.catalog-product-view .product.attribute.description .propertyAmenities--item{ display: none !important; }

/* property film: large tile with play badge; plays in the viewer */
body .tsk-mosaic-play{
  position: absolute; left: 18px; bottom: 18px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 12px 22px 12px 14px;
  border-radius: 999px;
  background: rgba(18,16,13,.55);
  border: 1px solid var(--tsk-frame);
  backdrop-filter: blur(6px);
  color: var(--tsk-text);
  font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap;
  transition: background .3s var(--tsk-ease), border-color .3s var(--tsk-ease);
}
body .tsk-mosaic-play-icon{
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--tsk-gold);
  position: relative; flex: none;
}
body .tsk-mosaic-play-icon::after{
  content: ""; position: absolute; left: 13px; top: 10px;
  border-style: solid; border-width: 7px 0 7px 11px;
  border-color: transparent transparent transparent var(--tsk-ink);
}
body .tsk-mosaic-tile.is-video:hover .tsk-mosaic-play,
body .tsk-mosaic-tile.is-video:focus-visible .tsk-mosaic-play{ background: rgba(18,16,13,.75); border-color: var(--tsk-gold); }
body .tsk-viewer-stage video{ max-width: 100%; max-height: calc(100vh - 120px); border-radius: 4px; background: #000; }
body .tsk-viewer-stage [hidden]{ display: none !important; }
/* the film now lives in the mosaic; don't repeat it in the Details tab */
body.catalog-product-view .product.attribute.description .prod-video{ display: none !important; }

/* property page: related properties (replaces Porto's prev / next arrows) */
body.catalog-product-view .tsk-related{ clear: both; margin: 64px 0 24px; padding-top: 48px; border-top: 1px solid var(--tsk-frame-soft); }
body .tsk-related-head{ margin-bottom: 28px; }
body .tsk-related-eyebrow{ display: block; margin-bottom: 10px; font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tsk-gold); }
body h2.tsk-related-title{ margin: 0 !important; font-size: clamp(26px, 3vw, 36px) !important; font-weight: 300 !important; color: var(--tsk-text) !important; text-transform: none !important; letter-spacing: 0 !important; }

/* listing pages: compact selects (sidebar city filter, sort, per-page) sized to their line, with a gold chevron */
body .toolbar-products select,
body .sidebar.sidebar-main select{
  -webkit-appearance: none !important; appearance: none !important;
  height: 38px !important;
  min-height: 0 !important;
  line-height: 36px !important;   /* 38px minus the 1px borders */
  padding: 0 34px 0 14px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
  background-color: var(--tsk-field) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23c98a44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 10px 6px !important;
  vertical-align: middle !important;
  cursor: pointer;
}
body .toolbar-products select:focus,
body .sidebar.sidebar-main select:focus{ background-color: rgba(255,255,255,.09) !important; }
body .toolbar-products select.limiter-options{ width: auto !important; min-width: 64px; }
body .toolbar-products .toolbar-sorter,
body .toolbar-products .limiter{ display: inline-flex !important; align-items: center; gap: 10px; }
body .toolbar-products .sorter-label,
body .toolbar-products .limiter-label,
body .toolbar-products .limiter-text{ line-height: 38px !important; margin: 0 !important; }
body .toolbar-products .sorter-action,
body .toolbar-products .sorter-action::before{ color: var(--tsk-text-muted) !important; }
body .toolbar-products .sorter-action:hover,
body .toolbar-products .sorter-action:hover::before{ color: var(--tsk-gold-bright) !important; }

/* listing filters: always open — no expand chevron, titles are plain labels */
body .sidebar.sidebar-main .filter-options-title{ pointer-events: none; cursor: default !important; }
body .sidebar.sidebar-main .filter-options-title::after,
body .sidebar.sidebar-main .filter-options-title::before{ content: none !important; display: none !important; }
body .sidebar.sidebar-main .filter-options-content{ display: block !important; }

/* listing pages (desktop): Sort / Show bar spans the full width; the filter card starts level with the first row of cards */
@media (min-width: 768px){
  /* only where there is a filter sidebar (one-column listings such as /buy have none) */
  body.page-products:not(.page-layout-1column) #layer-product-list > .tsk-listing-head{
    margin-left: calc(-100% / 3) !important;   /* sidebar is 25% of the row, the main column 75% */
    margin-bottom: 24px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--tsk-frame-soft);
  }
  body.page-products .sidebar.sidebar-main{ margin-top: var(--tsk-toolbar-offset, 91px) !important; }
}

/* Amenities filter: long list (most common first) scrolls inside the filter card */
body .sidebar.sidebar-main .filter-options-item[attribute="tsk_amenities"] .filter-options-content ol.items{
  max-height: 340px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 8px !important;
  scrollbar-width: thin;
  scrollbar-color: var(--tsk-gold) transparent;
}
body .sidebar.sidebar-main .filter-options-item[attribute="tsk_amenities"] .filter-options-content ol.items::-webkit-scrollbar{ width: 4px; }
body .sidebar.sidebar-main .filter-options-item[attribute="tsk_amenities"] .filter-options-content ol.items::-webkit-scrollbar-thumb{ background: var(--tsk-gold); border-radius: 4px; }
body .sidebar.sidebar-main .filter-options-item + .filter-options-item{ margin-top: 18px !important; }
/* filter dividers: keep them clear of the lists (no overlap, room above each line) */
body .sidebar.sidebar-main .filter-options-content{
  height: auto !important; max-height: none !important; overflow: visible !important;
  padding: 10px 0 16px !important;
}
body .sidebar.sidebar-main .filter-options-content ol.items{ margin: 0 !important; box-sizing: border-box; }
body .sidebar.sidebar-main .filter-options-item:last-child .filter-options-content{ border-bottom: 0 !important; padding-bottom: 0 !important; }
body .sidebar.sidebar-main .block-content.long-list{ padding-bottom: 12px !important; }

/* Listing head: Sort / Show bar + active filter pills */
body .tsk-listing-head > .toolbar-products{ margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .tsk-active-filters{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
body a.tsk-filter-pill{
  display: inline-flex; align-items: center; gap: 8px;
  height: 32px; padding: 0 8px 0 14px;
  border: 1px solid var(--tsk-frame) ; border-radius: 999px;
  background: var(--tsk-navy-soft);
  color: var(--tsk-text) !important;
  font-size: 12.5px; line-height: 1; text-decoration: none !important; white-space: nowrap;
  transition: border-color .25s var(--tsk-ease), background .25s var(--tsk-ease);
}
body .tsk-filter-pill-name{ font-size: 9.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tsk-gold); }
body .tsk-filter-pill-x{
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%;
  background: rgba(255,255,255,.08); color: var(--tsk-text-soft); font-size: 14px; line-height: 1;
}
body a.tsk-filter-pill:hover,
body a.tsk-filter-pill:focus-visible{ border-color: var(--tsk-gold-bright); background: rgba(201,138,68,.14); }
body a.tsk-filter-pill:hover .tsk-filter-pill-x{ background: var(--tsk-gold); color: var(--tsk-ink); }
body a.tsk-filter-clear{ margin-left: 4px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--tsk-text-muted) !important; text-decoration: none !important; }
body a.tsk-filter-clear:hover{ color: var(--tsk-gold-bright) !important; }
/* the sidebar's own "Filtered by" box is replaced by the pills */
body .sidebar.sidebar-main .filter-current,
body .sidebar.sidebar-main .filter-actions{ display: none !important; }

/* capacity line on cards and the property page: "Sleeps 12 · 5 bedrooms" (confirmed values only) */
body .tsk-card-capacity{
  display: block; margin: 6px 0 2px;
  font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--tsk-text-soft) !important;
}
body .tsk-product-capacity{
  margin: -12px 0 22px !important;
  font-size: 13px !important; letter-spacing: .08em;
  color: var(--tsk-text) !important;
}

/* favourite heart, already in the wishlist (Tsk_WishlistState adds .is-wished): inverted — solid gold disc, filled ink heart */
body .actions-secondary a.action.towishlist.is-wished,
body .tsk-listing .actions-secondary a.action.towishlist.is-wished{
  --tsk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
  background: var(--tsk-gold) !important;
  border-color: var(--tsk-gold) !important;
  color: var(--tsk-ink) !important;
}
body .actions-secondary a.action.towishlist.is-wished:hover,
body .tsk-listing .actions-secondary a.action.towishlist.is-wished:hover{
  background: var(--tsk-gold-bright) !important;
  border-color: var(--tsk-gold-bright) !important;
  color: var(--tsk-ink) !important;
}

/* My Wish List: 4:3 photo cards, name + location over a dark gradient, whole card links to the home
   (Magento_Wishlist/templates/item/tsk-cards.phtml) */
body .tsk-wishlist-cards:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin: 0 0 32px; padding: 0; list-style: none;
}
body .tsk-wishlist-card:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin: 0; padding: 0; }
body .tsk-wishlist-card a:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden;
  border-radius: 4px; background: var(--tsk-navy);
  text-decoration: none !important;
  transition: transform .35s var(--tsk-ease), box-shadow .35s var(--tsk-ease);
}
body .tsk-wishlist-card a::after{
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(12,10,8,.9) 0%, rgba(12,10,8,.45) 38%, rgba(12,10,8,0) 65%);
}
body .tsk-wishlist-card img:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s var(--tsk-ease);
}
body .tsk-wishlist-card a:hover:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0,0,0,.45); }
body .tsk-wishlist-card a:hover img:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ transform: scale(1.04); }
body .tsk-wishlist-card a:focus-visible:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ outline: 2px solid var(--tsk-gold); outline-offset: 3px; }
body .tsk-wishlist-card-text:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
  display: flex; flex-direction: column; gap: 6px; padding: 22px 24px;
}
body .tsk-wishlist-card-name:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: .02em;
  color: var(--tsk-text) !important;
}
body .tsk-wishlist-card-location:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--tsk-gold-soft) !important;
}
@media (max-width: 980px){ body .tsk-wishlist-cards:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ body .tsk-wishlist-cards:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: 1fr; gap: 16px; } }

/* ---------- Property page: banded sections in place of the tabs (Magento_Catalog/templates/product/view/tsk-sections.phtml)
   Each band paints edge to edge with a border-image (no 100vw width, so no horizontal scroll). */
body .tsk-sections:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin-top: 64px; clear: both; }
body .tsk-band:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  --tsk-band-bg: var(--tsk-ink);
  position: relative; padding: 72px 0;
  border-image: conic-gradient(var(--tsk-band-bg) 0 0) fill 0 // 0 100vw;
  scroll-margin-top: 90px;
}
body .tsk-band-alt:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ --tsk-band-bg: var(--tsk-navy); }
body .tsk-band + .tsk-band:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ border-top: 1px solid var(--tsk-frame-soft); }
body .tsk-band-eyebrow:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  margin: 0 0 10px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--tsk-gold) !important;
}
body h2.tsk-band-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  margin: 0 0 32px !important; font-size: clamp(28px, 3vw, 38px) !important; font-weight: 300 !important;
  letter-spacing: .01em; line-height: 1.2; color: var(--tsk-text) !important; text-transform: none !important;
}
body .tsk-band-body:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ max-width: 820px; }
body .tsk-band-body .product.attribute.description p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin: 0 0 1em !important; font-size: 16px !important; line-height: 1.75; color: var(--tsk-text-soft) !important; }
body .tsk-band-head:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
body .tsk-band-head h2.tsk-band-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin-bottom: 0 !important; }

/* More Information: every amenity group as bullets */
body .tsk-info-groups:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 36px 40px; }
body .tsk-info-group .tsk-product-feature-list li:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ font-size: 14.5px !important; }

/* Reviews */
body .tsk-review-list:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
body .tsk-review:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  margin: 0 !important; padding: 28px 30px; border: 1px solid var(--tsk-frame-soft); border-radius: 4px;
  background: rgba(255,255,255,.025);
}
body h3.tsk-review-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin: 0 0 12px !important; font-size: 18px !important; font-weight: 600 !important; color: var(--tsk-gold-soft) !important; text-transform: none !important; letter-spacing: .01em; }
body .tsk-review-text:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ font-size: 15px; line-height: 1.7; color: var(--tsk-text-soft) !important; }
body .tsk-review-meta:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  margin: 18px 0 0 !important; font-size: 11px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--tsk-text-muted) !important;
}
body .tsk-review-empty:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  max-width: 560px; margin: 0 auto; padding: 48px 32px; text-align: center;
  border: 1px dashed var(--tsk-frame); border-radius: 4px;
}
body .tsk-review-empty p:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ color: var(--tsk-text-soft) !important; margin: 0 0 24px !important; }
body p.tsk-review-empty-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ font-size: 22px !important; font-weight: 300; color: var(--tsk-text) !important; margin-bottom: 8px !important; }

/* review form inside the modal */
body .tsk-review-popup .modal-inner-wrap:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ max-width: 620px; }
body .tsk-review-popup .block.review-add:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body .tsk-review-popup .review-add > .block-title:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .tsk-review-popup .review-legend:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *),
body .tsk-review-popup .review-fieldset > br:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: none !important; }
body .tsk-review-popup .review-form:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ max-width: none !important; }
body .tsk-review-popup .review-form .action.submit:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ width: 100%; }

@media (max-width: 767px){
  body .tsk-band:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ padding: 48px 0; }
  body .tsk-band-head:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ flex-direction: column; align-items: flex-start; }
  body .tsk-review-list:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: 1fr; }
}

/* banded sections: text + one of the property's photos (left in the middle band) */
body .tsk-band-grid:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
body .tsk-band-grid--flip:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); }
body .tsk-band-grid--flip > .tsk-band-media:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ order: -1; }
body .tsk-band-media:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){
  position: sticky; top: 100px; margin: 0 !important;
  aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px; background: var(--tsk-navy-soft);
}
body .tsk-band-media img:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ display: block; width: 100%; height: 100%; object-fit: cover; }
body .tsk-band-grid .tsk-band-body:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ max-width: none; }
body .tsk-band-grid .tsk-info-groups:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
body .tsk-band-grid .tsk-review-list:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: 1fr; }
@media (max-width: 900px){
  body .tsk-band-grid:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .tsk-band-grid--flip:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ grid-template-columns: 1fr; }
  body .tsk-band-media:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *), body .tsk-band-grid--flip > .tsk-band-media:not(:where(#tsk-portal, #tsk-portal-2, #tsk-portal-footer, #tsk-design) *){ position: static; order: -1; aspect-ratio: 16 / 10; }
}

/* property page: the social box under Inquire Now is empty (AddThis removed, wishlist / compare moved out by Porto's JS); hide it and its border */
body.catalog-product-view .product-info-main .product-social-links{ display: none !important; }

/* ============================================================
   Destinations map (CMS page "map", script web/js/tsk-map.js)
============================================================ */
body.cms-map .page-title-wrapper{ display: none !important; }
body .tsk-map-page{ padding: 24px 0 40px; }
body .tsk-map-head{ text-align: center; margin: 0 auto 28px; max-width: 640px; }
body .tsk-map-eyebrow{ margin: 0 0 12px !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--tsk-gold) !important; }
body h1.tsk-map-title{ margin: 0 0 12px !important; font-size: clamp(32px, 4vw, 48px) !important; font-weight: 300 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tsk-text) !important; }
body h1.tsk-map-title em{ font-style: italic; color: var(--tsk-gold-soft); }
body .tsk-map-lede{ margin: 0 !important; font-size: 15px !important; color: var(--tsk-text-soft) !important; }
body .tsk-map-frame{
  position: relative;
  border: 1px solid var(--tsk-frame);
  border-radius: 14px;
  overflow: hidden;
  background: #141310;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.6);
}
body #map.tsk-map-canvas{ height: min(72vh, 760px) !important; min-height: 420px; width: 100%; }

/* pop-up card (Google InfoWindow re-skinned) */
body .tsk-map-frame .gm-style .gm-style-iw-c{
  padding: 0 !important; border-radius: 12px !important;
  background: var(--tsk-navy-soft) !important;
  border: 1px solid var(--tsk-frame);
  box-shadow: 0 18px 40px -12px rgba(0,0,0,.7) !important;
  max-width: 240px !important;
}
body .tsk-map-frame .gm-style .gm-style-iw-d{ overflow: hidden !important; padding: 0 !important; max-height: none !important; }
body .tsk-map-frame .gm-style .gm-style-iw-chr{ position: absolute; top: 4px; right: 4px; z-index: 2; height: 0; overflow: visible; }
body .tsk-map-frame .gm-style .gm-style-iw-tc::after{ background: var(--tsk-navy-soft) !important; }
body .tsk-map-frame .gm-style button.gm-ui-hover-effect{
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: rgba(18,16,13,.6) !important; opacity: 1 !important;
}
body .tsk-map-frame .gm-style button.gm-ui-hover-effect span{ background-color: var(--tsk-text) !important; margin: 6px !important; width: 16px !important; height: 16px !important; }
body a.tsk-map-card{ display: block; width: 220px; color: var(--tsk-text) !important; text-decoration: none !important; }
body .tsk-map-card-media{ display: block; aspect-ratio: 16 / 10; overflow: hidden; }
body .tsk-map-card-media img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--tsk-ease); }
body a.tsk-map-card:hover .tsk-map-card-media img{ transform: scale(1.05); }
body .tsk-map-card-body{ display: block; padding: 12px 14px 14px; font-family: var(--tsk-sans); }
body .tsk-map-card-tag{ display: block; margin-bottom: 4px; font-size: 9.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--tsk-gold); }
body .tsk-map-card-name{ display: block; margin-bottom: 8px; font-size: 18px; font-weight: 400; color: var(--tsk-text); }
body .tsk-map-card-cta{ font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--tsk-gold-soft); }
body a.tsk-map-card:hover .tsk-map-card-cta{ color: var(--tsk-gold-bright); }

/* "All regions" control */
body .tsk-map-frame button.tsk-map-back{
  margin: 16px 0 0 !important;
  height: 38px !important; min-height: 0 !important; padding: 0 18px !important;
  border: 1px solid var(--tsk-gold) !important; border-radius: 999px !important;
  background: rgba(28,26,23,.85) !important; color: var(--tsk-text) !important;
  font-family: var(--tsk-sans) !important; font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important; line-height: 36px !important;
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.6) !important; cursor: pointer;
}
body .tsk-map-frame button.tsk-map-back:hover{ background: var(--tsk-gold) !important; color: var(--tsk-ink) !important; }
/* grouped pin (e.g. Anguilla · St. Martin · St. Barth): one card listing each destination */
body div.tsk-map-card{ display: block; width: 220px; color: var(--tsk-text); }
body .tsk-map-card-links{ display: flex; flex-direction: column; margin-top: 2px; border-top: 1px solid var(--tsk-frame-soft); }
body .tsk-map-card-links a{
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px solid var(--tsk-frame-soft);
  font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--tsk-gold-soft) !important; text-decoration: none !important;
}
body .tsk-map-card-links a:last-child{ border-bottom: 0; padding-bottom: 0; }
body .tsk-map-card-links a:hover{ color: var(--tsk-gold-bright) !important; }

/* ---------- Listing, list view: 4:3 photo filling the card's left side (no frame on top / bottom / left); tag / name /
   capacity across the top, then bullets | description; wishlist + compare pinned top right, Inquire Now pinned
   bottom right (the third grid column keeps the text clear of them).
   (Sparsh_ProductInquiry/templates/catalog/product/list.phtml) */
body .column.main .products-list.tsk-listing .product-item{ margin: 0 0 20px !important; padding: 0 !important; }
body .column.main .products-list.tsk-listing .product-item-info.tsk-listing-card{
  display: grid !important; grid-template-columns: 280px minmax(0, 1fr); align-items: stretch;
  width: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 6px !important; overflow: hidden;
  background: var(--tsk-navy-soft) !important;
}
body .column.main .products-list.tsk-listing .product-item-photo{
  position: relative; display: block !important; width: auto !important; min-height: 210px;   /* 280 x 210 = 4:3 unless the text needs more height */
  margin: 0 !important; padding: 0 !important; float: none !important;
}
body .column.main .products-list.tsk-listing .product-item-photo .product-image-container{ position: absolute; inset: 0; width: 100% !important; height: 100%; }
body .column.main .products-list.tsk-listing .product-item-photo .product-image-wrapper{ height: 100% !important; padding: 0 !important; }
body .column.main .products-list.tsk-listing .product-item-photo .product-image-photo{
  position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover; transition: transform .6s var(--tsk-ease);
}
body .column.main .products-list.tsk-listing .product-item-info:hover .product-image-photo{ transform: scale(1.04); }

body .column.main .products-list.tsk-listing .product-item-details{
  position: relative;
  display: grid !important; grid-template-columns: 140px minmax(0, 1fr) 120px;
  column-gap: 22px; row-gap: 6px; align-content: start;
  padding: 24px 22px 24px 24px !important; margin: 0 !important; width: auto !important;
}
body .column.main .products-list.tsk-listing .product-item-details > *{ margin: 0 !important; }
body .column.main .products-list.tsk-listing .tsk-card-tag,
body .column.main .products-list.tsk-listing .product-item-name,
body .column.main .products-list.tsk-listing .tsk-card-capacity{ grid-column: 1 / 3; }
body .column.main .products-list.tsk-listing .tsk-region-tile-bullets{
  grid-column: 1; grid-row: 4; align-self: start; margin-top: 12px !important; padding: 0 !important; border: 0 !important;
}
body .column.main .products-list.tsk-listing .tsk-card-desc{
  grid-column: 2 / 4; grid-row: 4; align-self: start; margin-top: 12px !important; margin-bottom: 34px !important;   /* clear of the button below */
  font-size: 13.5px !important; line-height: 1.6 !important;
}
/* no feature bullets: the description takes their place too */
body .column.main .products-list.tsk-listing .tsk-no-bullets .tsk-card-desc{ grid-column: 1 / 4; }
/* footer: an empty frame over the card's padding box; its two children are pinned to its corners */
body .column.main .products-list.tsk-listing .product-item-inner.tsk-card-footer{
  position: absolute !important; top: 22px; right: 22px; bottom: 22px; left: auto;
  display: block !important; width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important;
}
body .column.main .products-list.tsk-listing .tsk-card-footer .product-item-actions{
  position: absolute !important; top: 0; right: 0; width: auto !important; margin: 0 !important; padding: 0 !important;
}
body .column.main .products-list.tsk-listing .tsk-card-footer .sparsh_product_inquiry_link{
  position: absolute !important; bottom: 0; right: 0;
  display: inline-flex !important; align-items: center; gap: 8px;
  height: 36px !important; padding: 0 18px !important; line-height: 1 !important;
  font-size: 11px !important; letter-spacing: .2em !important; white-space: nowrap;
}
body .column.main .products-list.tsk-listing .tsk-card-footer .sparsh_product_inquiry_link::before,
body .column.main .products-list.tsk-listing .tsk-card-footer .sparsh_product_inquiry_link i,
body .column.main .products-list.tsk-listing .tsk-card-footer .sparsh_product_inquiry_link .fa{ display: none !important; }

/* narrower: everything in one column, the header kept clear of the icons */
@media (max-width: 1100px){
  body .column.main .products-list.tsk-listing .product-item-details{ grid-template-columns: minmax(0, 1fr); }
  body .column.main .products-list.tsk-listing .tsk-card-tag,
  body .column.main .products-list.tsk-listing .product-item-name,
  body .column.main .products-list.tsk-listing .tsk-card-capacity{ grid-column: 1; padding-right: 90px !important; }
  body .column.main .products-list.tsk-listing .tsk-card-desc,
  body .column.main .products-list.tsk-listing .tsk-region-tile-bullets{ grid-column: 1; grid-row: auto; }
  body .column.main .products-list.tsk-listing .tsk-region-tile-bullets{ margin-bottom: 52px !important; }
  body .column.main .products-list.tsk-listing .tsk-card-desc{ margin-bottom: 0 !important; }
  body .column.main .products-list.tsk-listing .tsk-no-bullets .tsk-card-desc{ grid-column: 1; margin-bottom: 52px !important; }
}
@media (max-width: 640px){
  body .column.main .products-list.tsk-listing .product-item-info.tsk-listing-card{ grid-template-columns: 1fr; }
  body .column.main .products-list.tsk-listing .product-item-photo{ min-height: 0; aspect-ratio: 4 / 3; }
}

/* one-column listings (e.g. Buy): head spans the column as-is, with the same rule underneath */
body.page-products.page-layout-1column #layer-product-list > .tsk-listing-head{
  margin-bottom: 24px !important; padding: 0 0 18px !important; border-bottom: 1px solid var(--tsk-frame-soft);
}
/* bottom toolbar: no sort control (it's in the head), keep paging and per-page */
body.page-products #layer-product-list > .toolbar-products .toolbar-sorter{ display: none !important; }
/* listing grid: card edges line up with the content column (Porto's wrapper + list margins overhung it by 10px each side) */
body .products.wrapper.tsk-listing{ margin-left: 0 !important; margin-right: 0 !important; }
body .products.wrapper.tsk-listing ol.product-items{ margin-left: -10px !important; margin-right: -10px !important; }

/* CMS-page breadcrumbs (Transportation, Partners, Premium/Executive/Business properties …) match the listing pages:
   overrides old 25px gold rules in Porto's admin "Custom Style", and gives the first crumb the home icon
   (CMS crumbs have no .home class) */
body.cms-page-view .page-wrapper > .breadcrumbs{ margin-left: auto !important; margin-right: auto !important; }   /* undo the 20.67% shift */
body.cms-page-view .page-wrapper .breadcrumbs .items > li,
body.cms-page-view .page-wrapper .breadcrumbs .items > li *{
  font-size: 11px !important;
  line-height: 15.4px !important;
  letter-spacing: .18em !important;
  font-weight: 300 !important;
  color: var(--tsk-text-muted) !important;
}
body.cms-page-view .page-wrapper .breadcrumbs .items > li strong{ color: var(--tsk-text) !important; font-weight: 400 !important; }
body.cms-page-view .page-wrapper .breadcrumbs .items > li a:hover{ color: var(--tsk-gold-bright) !important; }
body.cms-page-view .page-wrapper .breadcrumbs .items > li:not(:last-child)::after{
  content: "\f80d" !important;
  font-family: porto-icons !important;
  font-size: 10px !important; font-weight: 400 !important; line-height: 15px !important;
  display: inline-block; vertical-align: middle; margin: 0 9px !important;
  color: var(--tsk-text-soft) !important;
}
body.cms-page-view .page-wrapper .breadcrumbs .items > li:first-child > a{
  position: relative; display: block; width: 15px !important; height: 15.4px;
  overflow: hidden; text-indent: 30px; vertical-align: middle;
}
body.cms-page-view .page-wrapper .breadcrumbs .items > li:first-child > a::after{
  content: "\e883";
  font-family: porto-icons; font-size: 11px; line-height: 15.4px;
  position: absolute; top: 0; left: 0; text-indent: 0; display: block;
  color: var(--tsk-text-muted);
}
body.cms-page-view .page-wrapper .breadcrumbs .items > li:first-child > a:hover::after{ color: var(--tsk-gold-bright); }
body.cms-page-view .page-wrapper .breadcrumbs .items > li{ display: inline-flex !important; align-items: center; vertical-align: top; }

/* Invest Now pill with the white logo, as on the portal (.cta-pill--logo) */
body .page-header .tsk-cta-pill--logo{ padding-left: 16px; }
body .page-header .tsk-cta-pill-logo{ height: 16px !important; width: auto !important; max-width: none; display: block; flex: 0 0 auto; }
@media (max-width: 1199px){
  html body .page-header .tsk-cta-pill--logo{ padding-left: 11px; }
  html body .page-header .tsk-cta-pill-logo{ height: 13px !important; }
}


/* ============================================================
   Pages from the User flow storyboarding design (#tsk-design, local-dev/design-import)
   Same full-bleed treatment as the portal pages (rules above match #tsk-design too).
============================================================ */
body #tsk-design{ width: 100%; overflow-x: clip; }
/* One shared header: the site menu (same items as the design header) replaces the design's own header and phone menu on home */
body #tsk-design .tskd-header,
body #tsk-design .tskd-menu{ display: none !important; }
/* Travel dropdown in the design header */
body #tsk-design .tskd-travel .tskd-dropdown{
  position: absolute; top: 100%; left: -18px; min-width: 240px; padding: 8px;
  background: var(--tsk-navy); border: 1px solid var(--tsk-frame); border-radius: 6px;
  box-shadow: 0 24px 50px -16px rgba(0,0,0,.6);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
body #tsk-design .tskd-travel.is-open .tskd-dropdown{ opacity: 1; visibility: visible; transform: none; }
body #tsk-design .tskd-dropdown a{ display: block; padding: 10px 12px; border-radius: 4px; color: var(--tsk-text) !important; }
body #tsk-design .tskd-dropdown a:hover,
body #tsk-design .tskd-dropdown a:focus-visible{ background: var(--tsk-navy-soft); }
body #tsk-design .tskd-dropdown strong{ display: block; font-size: 13px; font-weight: 600; }
body #tsk-design .tskd-dropdown span{ display: block; margin-top: 2px; font-size: 11px; color: var(--tsk-text-muted); }
/* phone menu panel (shown by tsk-design.js) */
body #tsk-design .tskd-menu[hidden]{ display: none !important; }
body #tsk-design .tskd-menu a{ color: var(--tsk-text); }
/* Concierge form fields */
body #tsk-design .tskd-form input::placeholder,
body #tsk-design .tskd-form textarea::placeholder{ color: var(--tsk-text-muted); }
body #tsk-design .tskd-form input:focus,
body #tsk-design .tskd-form textarea:focus{ border-color: var(--tsk-gold) !important; }
/* footer: 8 columns since the Travel, Wellness and Stays columns were added (brand + 7 link columns) */
@media (min-width: 1024px){
  body #tsk-portal-footer .footer-grid{ grid-template-columns: 1.4fr repeat(7, minmax(0, 1fr)) !important; column-gap: 24px !important; }
}
/* design pages are full-bleed under the fixed menu: show Magento's messages (e.g. Concierge "Thanks for contacting us") just below it */
body:has(#tsk-design) .page.messages{
  position: fixed; z-index: 300; left: 50%; transform: translateX(-50%);
  top: calc(var(--tsk-header-h, 76px) + 12px); width: min(640px, calc(100vw - 32px));
}
body:has(#tsk-design) .page.messages .message{ border: 1px solid var(--tsk-gold) !important; border-radius: 6px !important; box-shadow: 0 18px 40px -12px rgba(0,0,0,.6); }
/* home: panels page one screen per gesture (tsk-design.js); stop the browser's own scroll chaining/bounce there */
html:has(#tsk-design .tskd-header){ overscroll-behavior-y: none; }
