/* Homepage-only presentation. Existing catalog, settings and interactions remain in use. */
@font-face {
  font-family: SharkTask;
  src: url('../fonts/poppins-v20-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: SharkTask;
  src: url('../fonts/poppins-v20-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: SharkTask;
  src: url('../fonts/poppins-v20-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}
.sharktask-home {
  --st-ink: #25414c;
  --st-paper: #f9f5ec;
  --st-surface: #fff;
  --st-muted: #586970;
  --st-coral: #dd7f76;
  --st-line: #dfe3de;
  /* Fixed brand accent for the public site — NOT read from Settings >
     Theme Setup. That admin picker is a separate, admin-only accent for
     the dashboard chrome; it is not guaranteed to be an accessible,
     on-brand coral (an admin could set it to anything). #B2544C is this
     brand's action coral, already checked for WCAG AA contrast against
     the marfil (--st-paper) background it sits on. Change it here, in
     one place, if the brand color ever changes — never hardcode it again
     inside an individual component or page. */
  --bs-primary: #b2544c;
  --bs-primary-rgb: 178, 84, 76;
  /* Button fill on hover/active always matches the border color exactly
     (never a separate/hardcoded hover hex) — this is what keeps hover
     from ever drifting to a different color again. */
  --bs-primary-hover-bg: var(--bs-primary);
  --bs-primary-hover-border: var(--bs-primary);
  --bs-primary-active-bg: var(--bs-primary);
  --bs-primary-active-border: var(--bs-primary);
  /* Darker shade of the brand coral, used ONLY for the header login
     button's hover/active state (.sharktask-btn-login below) — every
     other .btn-primary in the app keeps the "no hover drift" behavior
     above (hover fill == resting fill) on purpose. Do not alias this to
     --bs-primary-hover-bg or reuse it anywhere else. */
  --bs-primary-shade: #8e433d;
  --bs-body-color: var(--st-muted);
  --bs-heading-color: var(--st-ink);
  --bs-body-bg: var(--st-paper);
  background: var(--st-paper);
  color: var(--st-muted);
  font-family: SharkTask, sans-serif;
  line-height: 1.65;
}
.sharktask-home .container,
.sharktask-home header .container-fluid {
  max-width: 1280px;
  padding-inline: 32px;
}
.sharktask-home :is(h1, h2, h3, h4, h5, h6) {
  font-family: inherit;
  color: var(--st-ink);
  letter-spacing: -0.035em;
  font-weight: 600;
  text-transform: none !important;
}
.sharktask-home :is(h2, h3) {
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  line-height: 1.2;
}
.sharktask-home .section-padding {
  padding-block: 64px;
}
.sharktask-home :is(.bg-light, .bg-body, .bg-primary-subtle) {
  background: var(--st-paper) !important;
}
.sharktask-home .text-body {
  color: var(--st-muted) !important;
}
.sharktask-home .text-primary {
  color: var(--bs-primary) !important;
}
.sharktask-home .highlighted-text {
  display: none;
}
.sharktask-home .btn {
  border-radius: 999px;
  font-family: inherit;
  font-weight: 600;
  white-space: normal;
  padding: 13px 25px;
  transition:
    background-color 0.18s,
    transform 0.18s;
}
.sharktask-home :is(.btn-primary, .bg-primary) {
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #f9f5ec !important;
}
.sharktask-home .sharktask-btn-login:hover,
.sharktask-home .sharktask-btn-login:focus-visible,
.sharktask-home .sharktask-btn-login:active {
  background: var(--bs-primary-shade) !important;
  border-color: var(--bs-primary-shade) !important;
  color: #f9f5ec !important;
}
.sharktask-home .btn:active {
  transform: translateY(1px);
}
.sharktask-home .btn-link {
  color: var(--st-ink);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.sharktask-home a:focus-visible,
.sharktask-home button:focus-visible,
.sharktask-home input:focus-visible {
  outline: 3px solid var(--st-ink) !important;
  outline-offset: 5px;
  box-shadow: none;
}
.sharktask-home .form-control,
.sharktask-home input {
  color: var(--st-ink);
}
.sharktask-home input::placeholder {
  color: var(--st-muted);
  opacity: 1;
}
.sharktask-home header .iq-navbar {
  background: var(--st-paper);
  box-shadow: none;
  border: 0;
}
.sharktask-home header .landing-header {
  min-height: 78px;
  gap: 20px;
}
.sharktask-home header .nav-link {
  position: relative;
  font-size: 13px;
  color: var(--st-ink);
  font-weight: 400;
}
@media (min-width: 1200px) {
  .sharktask-home header #header-menu > .nav-item > .nav-link {
    padding-bottom: 18px;
  }
  .sharktask-home header #header-menu > .nav-item > .nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 9px;
    width: 34px;
    height: 7px;
    border-bottom: 2px solid #dd7f76;
    border-radius: 0 0 60% 60%;
    opacity: 0;
    transform: translateX(-50%) scaleX(.45);
    transform-origin: center;
    transition: opacity .18s ease, transform .28s cubic-bezier(.2,.8,.2,1);
  }
  .sharktask-home header #header-menu > .nav-item > .nav-link::before {
    content: "";
    position: absolute;
    z-index: 1;
    left: calc(50% - 3px);
    bottom: 9px;
    width: 8px;
    height: 7px;
    background: #dd7f76;
    clip-path: polygon(0 100%, 66% 0, 100% 100%);
    opacity: 0;
    transform: translateY(3px) scale(.65);
    transform-origin: center bottom;
    transition: opacity .18s ease, transform .28s cubic-bezier(.2,.8,.2,1);
  }
  .sharktask-home header #header-menu > .nav-item > .nav-link:is(:hover, :focus-visible, .active)::after {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
  }
  .sharktask-home header #header-menu > .nav-item > .nav-link:is(:hover, :focus-visible, .active)::before {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .sharktask-home header #header-menu > .nav-item > .nav-link.active {
    color: var(--st-ink);
    font-weight: 600;
  }
}
.sharktask-home header .sharktask-link-become {
  font-size: 13px;
  font-weight: 600;
  color: var(--bs-primary);
  white-space: nowrap;
  text-decoration: none;
  transition: color 0.18s;
}
.sharktask-home header .sharktask-link-become:hover,
.sharktask-home header .sharktask-link-become:focus-visible {
  color: var(--bs-primary-shade);
}
.sharktask-home header .btn {
  /* Header pill buttons (login, become-provider, nearby) share one size
     instead of each carrying its own ad-hoc padding/font-size. */
  white-space: nowrap;
  font-size: 13px;
}
.sharktask-home header .navbar-brand img {
  width: 172px;
  max-height: 54px;
  object-fit: contain;
}

/* Mobile menu — single offcanvas panel (#navbar_main), opened by the one
   "res_sidebar" hamburger button. It holds the nav links AND the actions
   (language, theme, wishlist, become-provider, login/account) that used to
   live in a second, separate collapse with its own hamburger — that second
   trigger is gone (see _header.blade.php), so there's only ever one mobile
   menu button and one panel now. */
.sharktask-home header .mobile-offcanvas .offcanvas-header {
  padding: 18px 20px;
  border-bottom: 1px solid var(--st-line);
  margin: 0;
}
.sharktask-home header .mobile-offcanvas .offcanvas-header .navbar-brand {
  margin: 0 !important;
}
.sharktask-home header .mobile-offcanvas .btn-close {
  opacity: 1;
  background: none;
  box-shadow: none;
  font-size: 0;
  width: 32px;
  height: 32px;
  min-width: 32px;
  position: relative;
  flex: 0 0 auto;
}
.sharktask-home header .mobile-offcanvas .btn-close::before,
.sharktask-home header .mobile-offcanvas .btn-close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: var(--st-ink);
}
.sharktask-home header .mobile-offcanvas .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.sharktask-home header .mobile-offcanvas .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.sharktask-home header .offcanvas-actions {
  padding: 4px 20px 28px;
}
.sharktask-home header .offcanvas-actions-divider {
  border-top: 1px solid var(--st-line);
  opacity: 1;
  margin: 4px 0 14px;
}
.sharktask-home header .offcanvas-action-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 2px;
  font-size: 14px;
  color: var(--st-ink);
  border-bottom: 1px solid var(--st-line);
}
.sharktask-home header .offcanvas-action-link:hover {
  color: var(--bs-primary);
}
.sharktask-home header .offcanvas-action-link .mode-icons {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.sharktask-home header .offcanvas-action-emphasis {
  color: var(--bs-primary);
  font-weight: 600;
  transition: color 0.18s;
}
.sharktask-home header .offcanvas-action-emphasis:hover,
.sharktask-home header .offcanvas-action-emphasis:focus-visible {
  color: var(--bs-primary-shade);
}
.sharktask-home header .sharktask-language-menu {
  padding: 8px;
  min-width: 180px;
}
.sharktask-home header .sharktask-language-menu .dropdown-item {
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 13px;
}
.sharktask-home header .sharktask-language-menu .dropdown-item:hover,
.sharktask-home header .sharktask-language-menu .dropdown-item:focus-visible {
  background: var(--st-paper);
  color: var(--bs-primary);
}
.sharktask-home header .sharktask-language-flag {
  font-size: 16px;
  line-height: 1;
}
.sharktask-home header .offcanvas-action-group {
  padding: 12px 2px;
  border-bottom: 1px solid var(--st-line);
}
.sharktask-home header .offcanvas-action-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--st-muted);
  margin-bottom: 10px;
}
.sharktask-home header .offcanvas-language-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sharktask-home header .offcanvas-language-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
  min-width: 48px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--st-line);
  font-size: 12px;
  font-weight: 600;
  color: var(--st-ink);
}
.sharktask-home header .offcanvas-language-flag {
  font-size: 14px;
  line-height: 1;
}
.sharktask-home header .offcanvas-language-pill.active {
  background: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #f9f5ec;
}
.sharktask-home header .offcanvas-user-block {
  padding-top: 6px;
}
.sharktask-home header .offcanvas-user-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 2px 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--st-ink);
}
.sharktask-home header .offcanvas-actions .btn {
  margin-top: 6px;
}

.sharktask-home .sharktask-brand {
  display: block;
  width: 190px;
  height: 56px;
  object-fit: contain;
}
/* Header/mobile-nav logo swap: two images are rendered together (see
   components/sharktask/logo.blade.php, variant="primary"), and only one
   is ever shown, based on the site's light/dark toggle
   ([data-bs-theme='dark'] on <html>, set by handyman.js) — never both.
   The header/nav background flips to the dark petróleo surface in dark
   mode, so the full-color mark swaps for the same light/reversed mark
   the footer uses. The footer's own logo (variant="dark") has no
   -light/-dark classes and is untouched by these rules; its background
   is a fixed petróleo color that never changes with this toggle. */
.sharktask-home .sharktask-brand-dark {
  display: none;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-brand-light {
  display: none;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-brand-dark {
  display: block;
}
.sharktask-hero {
  padding-block: 18px 0;
}
.sharktask-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(500px, 1.08fr);
  align-items: center;
  gap: 0;
}
.sharktask-hero-copy {
  position: relative;
  z-index: 4;
  padding-block: 54px 76px;
}
.sharktask-eyebrow {
  font-size: 11px;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 22px;
  color: var(--st-ink);
}
.sharktask-home .sharktask-hero h1 {
  font-size: clamp(3rem, 5vw, 4.65rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.055em;
  margin: 0 0 22px;
  max-width: 610px;
}
.sharktask-intro {
  font-size: 18px;
  line-height: 1.6;
  max-width: 470px;
  margin: 0 0 30px;
}
.sharktask-search {
  position: relative;
  z-index: 5;
  width: min(650px, calc(100% + 72px));
  max-width: none;
}
.sharktask-home .sharktask-search .search-box-wrapper {
  background: var(--st-surface) !important;
  border-radius: 32px;
  border: 1px solid var(--st-line);
  box-shadow: 0 12px 35px #25414c0a;
  padding: 5px;
  overflow: visible;
}
.sharktask-home .sharktask-search .location-search-block {
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
}
.sharktask-home .sharktask-search .location-search {
  flex: 1 1 48%;
  min-width: 0;
  padding: 10px 8px 10px 18px !important;
}
.sharktask-home .sharktask-search .location-search input {
  width: 100%;
  min-width: 0;
  font: inherit;
  font-size: 13px;
}
.sharktask-home .sharktask-search .search-submit-btn {
  background: var(--bs-primary);
  color: #f9f5ec;
  border: 0;
  border-radius: 999px;
  min-width: 116px;
  height: 50px;
  padding-inline: 22px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
}
.sharktask-home .sharktask-search .search-submit-btn svg {
  color: inherit;
}
.sharktask-home .sharktask-search .searchbox-datalink {
  background: var(--st-surface);
  border-radius: 16px;
  box-shadow: 0 12px 30px #25414c15;
}
.sharktask-explore {
  display: none;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  color: var(--st-ink);
  font-size: 13px;
  font-weight: 600;
}
.sharktask-explore span {
  font-size: 22px;
}
.sharktask-home .sharktask-search .modal-location {
  background: transparent;
  border: 0;
  border-left: 1px solid var(--st-line);
  flex: 0 1 185px;
  min-width: 150px;
  text-align: start;
  color: var(--st-ink);
  font: inherit;
}
.sharktask-home .sharktask-search .search-box-wrapper > .d-flex > .py-2 {
  display: none;
}
.sharktask-home .sharktask-search .input-group > .search-submit-btn {
  border-radius: 999px !important;
  position: static;
}
.sharktask-home .sharktask-search .input-group {
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}
.sharktask-home .sharktask-search .input-group input {
  flex: 1;
  width: 0;
}
.sharktask-home .sharktask-search .categories-list {
  font-size: 12px;
  line-height: 1.8;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.sharktask-home .sharktask-search .categories-list li {
  margin: 0;
  padding: 0 !important;
  font-size: 12px;
}
.sharktask-home .sharktask-search .categories-list h6 {
  font-size: 12px;
  letter-spacing: 0;
  font-weight: 400;
  max-width: 400px;
}
.sharktask-home #cookiePopup {
  display: block;
  padding: 22px !important;
  left: 16px !important;
  bottom: 16px !important;
}
.sharktask-home #cookiePopup .row {
  display: block;
}
.sharktask-home #cookiePopup .row > div {
  width: 100%;
  text-align: start !important;
}
.sharktask-home #cookiePopup .row > div + div {
  margin-top: 16px !important;
}
.sharktask-home #cookiePopup .btn {
  white-space: nowrap;
}
.sharktask-home #cookiePopup p {
  font-size: 13px;
  line-height: 1.6;
}
.sharktask-hero-visual {
  position: relative;
  align-self: end;
  isolation: isolate;
  min-width: 0;
  min-height: 575px;
  overflow: hidden;
}
.sharktask-home .sharktask-hero h1 > span {
  display: block;
}
.sharktask-hero-visual::before {
  display: none;
}
.sharktask-hero-photo {
  display: block;
  width: 100%;
  height: 575px;
  object-fit: contain;
  object-position: center;
}
.sharktask-hero-card {
  position: absolute;
  z-index: 3;
  display: flex;
  gap: 12px;
  align-items: center;
  width: 242px;
  padding: 18px;
  background: var(--st-surface);
  border-radius: 16px;
  box-shadow: 0 15px 45px #25414c0d;
  color: var(--st-ink);
  font-size: 13px;
}
.sharktask-hero-card-accepted {
  top: 17%;
  right: -4px;
}
.sharktask-hero-card-service {
  top: 40%;
  right: -4px;
  width: 205px;
}
.sharktask-hero-card strong,
.sharktask-hero-card small {
  display: block;
}
.sharktask-hero-card small {
  font-size: 11px;
  color: var(--st-muted);
  margin-top: 4px;
}
.sharktask-card-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f7e5df;
  color: var(--bs-primary);
  font-size: 22px;
  flex-shrink: 0;
}
.sharktask-card-icon-accepted {
  background: #e0f0ec;
  color: #56a99e;
}
.sharktask-hero-note {
  position: absolute;
  z-index: 3;
  right: -6px;
  bottom: 12%;
  width: 110px;
  margin: 0;
  color: #25414c;
  font-family: cursive;
  font-size: 17px;
  line-height: 1.18;
  transform: rotate(-5deg);
}
.sharktask-hero-note span {
  display: block;
  width: 42px;
  height: 8px;
  margin: 8px auto 0;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  transform: rotate(-8deg);
}
.sharktask-home .iq-stats-bar {
  display: none;
  padding: 26px 0;
  margin: 0;
  gap: 32px;
  justify-content: flex-start;
}
.sharktask-home .stat-item {
  text-align: start;
  flex: 0 1 auto;
  border: 0;
  padding-inline: 0 32px;
}
.sharktask-home .stat-number {
  font-size: 24px;
  color: var(--st-ink);
}
.sharktask-home .stat-label {
  font-size: 12px;
  color: var(--st-muted);
}
.sharktask-home .sharktask-categories {
  padding-block: 72px 78px;
}
.sharktask-home .sharktask-section-kicker {
  margin: 0 0 10px;
  color: #397078;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.sharktask-home .iq-title-box h3 {
  margin-bottom: 0;
}
.sharktask-home .sharktask-categories section > .row {
  margin-top: 30px !important;
  row-gap: 24px;
}
.sharktask-home .sharktask-category-link {
  display: block;
  height: 100%;
  color: inherit;
}
.sharktask-home .sharktask-categories .card {
  background: var(--st-surface) !important;
  border: 1px solid #25414c12;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px #25414c0a;
  overflow: hidden;
  text-align: start !important;
  height: 100%;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.sharktask-home .sharktask-categories .card:hover {
  transform: translateY(-5px);
  border-color: #25414c2b;
  box-shadow: 0 18px 40px #25414c17;
}
.sharktask-home .sharktask-categories .circle-clip-effect::before,
.sharktask-home .sharktask-categories .circle-clip-effect::after {
  display: none !important;
}
.sharktask-home .sharktask-categories .category-card {
  padding: 0;
}
.sharktask-home .sharktask-categories .img-bg {
  display: block !important;
  width: 100%;
  height: 220px;
  padding: 0;
  background: #e9ede7;
  border-radius: 0 !important;
}
.sharktask-home .sharktask-categories .img-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform 0.35s ease;
}
.sharktask-home .sharktask-categories .card:hover .img-bg,
.sharktask-home .sharktask-categories .card:hover .categories-name {
  background: transparent !important;
  color: var(--st-ink) !important;
}
.sharktask-home .sharktask-categories .card:hover .img-bg img {
  transform: scale(1.035);
}
.sharktask-home .sharktask-category-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  padding: 16px 20px;
}
.sharktask-home .sharktask-categories .categories-name {
  margin: 0 !important;
  color: var(--st-ink) !important;
  font-size: 16px;
}
.sharktask-home .sharktask-categories .categories-desc {
  display: none;
}
.sharktask-home .sharktask-category-arrow {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 50%;
  border: 1.5px solid #25414c26;
  background: transparent;
  color: var(--st-ink);
  font-size: 18px;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.sharktask-home .sharktask-category-link:hover .sharktask-category-arrow {
  background: var(--bs-primary);
  color: #f9f5ec;
  transform: translateX(4px);
}
.sharktask-home .our-service {
  background: var(--st-paper) !important;
}
.sharktask-home .sharktask-services {
  padding-block: 76px;
  border-block: 1px solid #25414c0c;
}
.sharktask-home .sharktask-swiper-nav {
  margin-top: -8px;
}
.sharktask-home .sharktask-swiper-prev,
.sharktask-home .sharktask-swiper-next {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 1.5px solid #25414c26;
  border-radius: 50%;
  background: transparent;
  color: var(--st-ink);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.sharktask-home .sharktask-swiper-prev:hover,
.sharktask-home .sharktask-swiper-next:hover {
  background: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #f9f5ec;
}
.sharktask-home .sharktask-swiper-prev.swiper-button-disabled,
.sharktask-home .sharktask-swiper-next.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.sharktask-home .sharktask-service-group + .sharktask-service-group {
  margin-top: 76px !important;
}
.sharktask-home .sharktask-services .swiper-container {
  padding: 32px 4px 10px;
}
.sharktask-home .sharktask-services .service-slide-items-4 {
  margin-top: 0 !important;
}
.sharktask-home :is(.service-box-card, .shop-card, .blog-card) {
  border: 1px solid #25414c12 !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 10px 26px #25414c0a;
  background: var(--st-surface) !important;
}
.sharktask-home .sharktask-services .service-box-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.sharktask-home .sharktask-services .service-box-card:hover {
  transform: translateY(-5px);
  border-color: #25414c2b !important;
  box-shadow: 0 18px 42px #25414c17;
}
.sharktask-home .sharktask-services .service-box-card .iq-image {
  overflow: hidden;
  border-radius: 9px 9px 0 0;
}
.sharktask-home .service-box-card .service-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.52 / 1;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform 0.35s ease;
}
.sharktask-home .sharktask-services .service-box-card:hover .service-img {
  transform: scale(1.025);
}
.sharktask-home .sharktask-services .service-heading {
  margin: 0 !important;
}
.sharktask-home .sharktask-services .service-title {
  color: var(--st-ink);
  font-size: 15px !important;
  line-height: 1.25;
}
.sharktask-home .sharktask-service-content {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 12px 14px 12px;
}
.sharktask-home .sharktask-service-rating {
  min-height: 18px;
}
.sharktask-home .sharktask-rating-star {
  flex: 0 0 auto;
  color: #dd7f76;
}
.sharktask-home .sharktask-services .price-content {
  margin-top: 0 !important;
}
.sharktask-home .sharktask-services .price-content li {
  font-size: 12px !important;
}
.sharktask-home .sharktask-services .service-price::before {
  content: "•";
  margin: 0 7px 0 5px;
  color: #6c7c80;
}
.sharktask-home .sharktask-service-provider {
  min-height: 24px;
  margin-top: 0;
  padding-top: 7px;
  border-top: 1px solid #25414c14;
  white-space: nowrap;
}
.sharktask-home .sharktask-service-provider .service-user-name {
  font-size: 11px !important;
}
.sharktask-home .sharktask-services .serv-whishlist {
  top: 9px;
  right: 9px;
  width: 24px;
  height: 24px;
  color: var(--bs-primary) !important;
  background: #fffffff0 !important;
  box-shadow: 0 3px 10px #25414c16;
}
.sharktask-home .sharktask-services .serv-whishlist svg {
  width: 10px;
  height: 10px;
}
.sharktask-home .sharktask-image-verified {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fffffff0;
  color: var(--st-ink);
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 3px 10px #25414c16;
}
.sharktask-home .sharktask-image-verified svg {
  color: var(--bs-primary);
}
.sharktask-home .service-box-card :is(h5, h6) {
  letter-spacing: -0.02em;
}
.sharktask-home .sharktask-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--st-ink);
  font-size: 11px;
  font-weight: 500;
}
.sharktask-home .sharktask-verified-badge svg {
  color: var(--bs-primary);
  flex-shrink: 0;
}
.sharktask-home .sharktask-promotions {
  padding-block: 76px;
}
.sharktask-home .sharktask-promo-slider {
  padding-top: 32px;
}
.sharktask-home .sharktask-promo-slider .swiper {
  padding: 2px 3px 34px;
}
.sharktask-home .sharktask-promo-card {
  position: relative;
  border: 1px solid #25414c12;
  border-radius: 20px;
  box-shadow: 0 14px 34px #25414c10;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.sharktask-home .sharktask-promo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px #25414c1a;
}
.sharktask-home .sharktask-promo-card img {
  display: block;
  aspect-ratio: 16/7 !important;
  object-fit: cover;
}
.sharktask-home .sharktask-promo-slider .swiper-pagination {
  bottom: 0 !important;
}
.sharktask-home .sharktask-providers .iq-team-slider {
  margin-top: 26px;
}
.sharktask-home .sharktask-providers .iq-banner-img > img {
  height: 300px;
  width: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: 18px !important;
}
.sharktask-home .sharktask-providers .card-box {
  margin-top: -28px;
}
.sharktask-home .sharktask-providers .card-description {
  background: var(--st-surface);
  box-shadow: 0 6px 20px #25414c0b;
  padding: 16px 24px !important;
}
.sharktask-home .sharktask-providers .card-description .text-white {
  color: var(--st-muted) !important;
}
.sharktask-provider-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.sharktask-provider-item {
  min-width: 0;
}
.sharktask-home .sharktask-providers .rating-text {
  color: var(--st-muted);
}
.sharktask-home .sharktask-providers .card-description h6 {
  font-size: 15px;
}
.sharktask-home .sharktask-app-download {
  background: #25414c !important;
  border-radius: 24px !important;
}
.sharktask-home .sharktask-app-download > .position-absolute {
  opacity: 0.12;
}
.sharktask-home .sharktask-app-download p {
  color: #e3e8e4;
}
.sharktask-home .footer a {
  color: #f9f5ec !important;
}
/* No CSS filter here on purpose: the footer renders
   <x-sharktask.logo variant="dark" />, which reads the admin's own
   "Pie de página Logo" upload (Settings > Theme Setup, media key
   footer_logo) — the admin is expected to upload an already-appropriate
   light/reversed mark there for this dark background, not have one faked
   from the main logo via a CSS filter. */
@media (max-width: 767px) {
  .sharktask-provider-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 16px;
  }
  .sharktask-home .sharktask-providers .iq-banner-img > img {
    height: 230px;
  }
  .sharktask-home .sharktask-providers .card-description {
    padding: 12px !important;
  }
  .sharktask-home .sharktask-providers .card-description h6 {
    font-size: 12px;
  }
  .sharktask-home .sharktask-app-download {
    padding-inline: 24px !important;
  }
}
.sharktask-home .sharktask-recruit {
  margin-block: 72px 88px;
  position: relative;
}
.sharktask-home .sharktask-recruit-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.96fr);
  align-items: center;
  gap: clamp(40px, 6vw, 76px);
  min-height: 410px;
}
.sharktask-home .sharktask-recruit-media {
  position: relative;
  min-height: 410px;
  overflow: hidden;
  background: #eee7dd;
  border-radius: 16px;
}
.sharktask-home .sharktask-recruit-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sharktask-home .sharktask-recruit-content {
  max-width: 540px;
}
.sharktask-home .sharktask-recruit-eyebrow {
  margin: 0 0 16px;
  color: #397078;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.sharktask-home .sharktask-recruit-content h2 {
  max-width: 540px;
  margin: 0;
  color: #25414c;
  font-size: clamp(2.35rem, 4vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}
.sharktask-home .sharktask-recruit-description {
  max-width: 470px;
  margin: 24px 0 0;
  color: #4e6269;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.65;
}
.sharktask-home .sharktask-recruit-action {
  text-align: left;
  position: relative;
  z-index: 1;
  padding-top: 30px;
}
.sharktask-home .sharktask-recruit-action .btn {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}
.sharktask-home .sharktask-recruit-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}
.sharktask-home .sharktask-recruit-benefits li {
  display: grid;
  gap: 10px;
  color: #25414c;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
.sharktask-home .sharktask-recruit-benefits i {
  color: #25414c;
  font-size: 19px;
}
.sharktask-home .sharktask-how .line-count-2 {
  display: block;
  -webkit-line-clamp: unset;
}
.sharktask-home .footer {
  background: #25414c;
  color: #f9f5ec;
}
.sharktask-home .footer .footer-top {
  padding-block: 64px;
}
.sharktask-home .footer p {
  font-size: 13px;
  line-height: 1.9;
}
.sharktask-home .footer :is(a, h5) {
  color: #f9f5ec;
}
.sharktask-home .footer .readmore-btn {
  color: #f1b2a8;
}
.sharktask-home .footer .navbar-brand {
  /* No card/box behind the logo — it now reads directly on the petróleo
     background as a reversed mark, matching the rest of the footer. */
  padding: 0;
}
.sharktask-home #cookiePopup {
  background: var(--st-surface);
  color: var(--st-muted);
  border: 1px solid var(--st-line);
  border-radius: 20px;
  box-shadow: 0 12px 40px #25414c20;
  max-width: min(380px, calc(100vw - 32px));
}
.sharktask-home #cookiePopup h5 {
  font-size: 18px;
}
.sharktask-home #top {
  background: var(--bs-primary);
  color: #f9f5ec;
}
[data-bs-theme='dark'] .sharktask-home {
  --st-paper: #192c34;
  --st-surface: #25414c;
  --st-ink: #f9f5ec;
  --st-muted: #c2d0d1;
  --st-line: #425860;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-hero-visual::before {
  background: #304d52 !important;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-recruit-content h2,
[data-bs-theme='dark'] .sharktask-home .sharktask-recruit-benefits li {
  color: #f9f5ec;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-recruit-description {
  color: #c2d0d1;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-recruit-benefits i {
  color: #f9f5ec;
}
[data-bs-theme='dark'] .sharktask-home .sharktask-categories .img-bg {
  background: #304d52;
}
@media (min-width: 1200px) {
  .sharktask-home .btn {
    white-space: nowrap;
  }
}
@media (max-width: 1199.98px) {
  .sharktask-home header .mobile-offcanvas .iq-nav-menu {
    padding: 10px 20px 4px;
    margin: 0;
  }
  .sharktask-home header .mobile-offcanvas .iq-nav-menu .nav-link {
    font-size: 16px;
    font-weight: 600;
    color: var(--st-ink);
    padding: 13px 2px !important;
    border-bottom: 1px solid var(--st-line);
  }
  .sharktask-home header .mobile-offcanvas .iq-nav-menu li:last-child .nav-link {
    border-bottom: 0;
  }
  .sharktask-home header .mobile-offcanvas .iq-nav-menu .nav-link.active {
    color: var(--bs-primary);
  }
}
@media (max-width: 1199px) {
  .sharktask-home .sharktask-hero h1 {
    font-size: clamp(2.3rem, 4.5vw, 3.5rem);
  }
  .sharktask-hero-photo {
    height: 520px;
  }
  .sharktask-hero-card {
    right: 0;
    width: 205px;
    padding: 14px;
  }
  .sharktask-hero-card-accepted {
    top: 18%;
  }
  .sharktask-hero-card-service {
    top: 41%;
    width: 185px;
  }
  .sharktask-home header .mobile-offcanvas {
    background: var(--st-surface);
  }
}
@media (max-width: 767px) {
  .sharktask-home .container,
  .sharktask-home header .container-fluid {
    padding-inline: 22px;
  }
  .sharktask-home .section-padding {
    padding-block: 42px;
  }
  .sharktask-hero {
    padding-top: 0;
  }
  .sharktask-hero-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .sharktask-hero-copy {
    padding-block: 28px 10px;
  }
  .sharktask-search {
    width: 100%;
  }
  .sharktask-home .sharktask-search .location-search-block {
    flex-wrap: wrap;
    padding: 5px;
  }
  .sharktask-home .sharktask-search .location-search {
    flex-basis: 100%;
  }
  .sharktask-home .sharktask-search .modal-location {
    flex: 1 1 auto;
    border-left: 0;
  }
  .sharktask-home .sharktask-search .search-submit-btn {
    min-width: 108px;
  }
  .sharktask-home .sharktask-search .border-start {
    border: 0 !important;
    padding-left: 0 !important;
  }
  .sharktask-home .sharktask-hero h1 {
    font-size: clamp(2.2rem, 7.8vw, 3.5rem);
  }
  .sharktask-eyebrow {
    margin-bottom: 14px;
  }
  .sharktask-intro {
    font-size: 16px;
    margin-bottom: 22px;
  }
  .sharktask-hero-visual {
    width: 100%;
    max-width: 480px;
    justify-self: center;
  }
  .sharktask-hero-photo {
    height: 390px;
  }
  .sharktask-hero-card {
    width: 185px;
    padding: 12px;
  }
  .sharktask-hero-card-accepted {
    top: 18%;
  }
  .sharktask-hero-card-service {
    top: 47%;
    right: auto;
    left: 0;
    width: 165px;
  }
  .sharktask-hero-note {
    right: 4px;
    bottom: 5%;
    width: 92px;
    font-size: 14px;
  }
  .sharktask-home .iq-stats-bar {
    gap: 16px;
    justify-content: space-between;
  }
  .sharktask-home .stat-item {
    padding: 0;
    min-width: 0;
  }
  .sharktask-home .stat-number {
    font-size: 20px;
  }
  .sharktask-home .stat-label {
    font-size: 10px;
  }
  .sharktask-home .sharktask-categories .row {
    row-gap: 22px;
  }
  .sharktask-home .sharktask-categories .row > .col {
    width: 50%;
  }
  .sharktask-home .sharktask-categories .img-bg {
    height: 145px;
  }
  .sharktask-home .sharktask-categories .categories-name {
    font-size: 15px;
    margin-inline: 14px !important;
  }
  .sharktask-home .sharktask-categories .categories-desc {
    margin-inline: 14px !important;
  }
  .sharktask-home .sharktask-recruit-shell {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
  }
  .sharktask-home .sharktask-recruit-media {
    min-height: 330px;
    border-radius: 16px;
  }
  .sharktask-home .sharktask-recruit-content {
    padding: 4px 6px 12px;
  }
  .sharktask-home .sharktask-recruit-content h2 {
    font-size: clamp(2.4rem, 13vw, 3.6rem);
  }
  .sharktask-home .sharktask-recruit-action {
    padding-top: 26px;
  }
  .sharktask-home .sharktask-recruit {
    margin-block: 12px 32px;
  }
  .sharktask-home .sharktask-recruit-benefits {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 32px;
  }
  .sharktask-home .sharktask-recruit-benefits li {
    grid-template-columns: 22px 1fr;
    align-items: center;
    gap: 12px;
  }
  .sharktask-home .footer .footer-top {
    padding-block: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sharktask-home * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

.sharktask-home .iq-stats-bar {
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 680px;
}
.sharktask-home .iq-stats-bar .stat-item {
  width: auto;
  min-width: 0;
}
.sharktask-home .sharktask-search .categories-list {
  display: none;
}
.sharktask-home .iq-stats-bar .stat-label {
  white-space: normal;
}
.sharktask-home .sharktask-categories .circle-clip-effect::after {
  display: none;
}
@media (max-width: 767px) {
  .sharktask-home .iq-stats-bar .stat-label { font-size: 11px; }
}
/* Category directory + home hero v2 */
.sharktask-home{--st-teal:#25414c;--st-coral:#dd7f76;--st-ivory:#f9f5ec;--st-ink:#173743;--st-border:rgba(37,65,76,.14)}
.sharktask-hero-v2{background:linear-gradient(115deg,#fffdf8 0%,#f9f5ec 54%,#e8f2f0 100%);padding:2.25rem 0 0;overflow:hidden}
.sharktask-hero-v2 .sharktask-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:3rem;min-height:590px}
.sharktask-hero-v2 .sharktask-hero-copy{padding:2rem 0 4.5rem;position:relative;z-index:2}
.sharktask-hero-v2 .sharktask-eyebrow,.st-kicker{color:#39717a;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 1rem}
.sharktask-hero-v2 h1{color:var(--st-ink);font-size:clamp(3.15rem,5.2vw,5.35rem);font-weight:750;letter-spacing:-.055em;line-height:.96;margin:0;max-width:760px}
.sharktask-hero-v2 h1 span{color:var(--st-coral);display:block}
.sharktask-hero-v2 .sharktask-intro{color:#49656e;font-size:1.15rem;line-height:1.6;margin:1.45rem 0 1.6rem;max-width:570px}
.sharktask-hero-v2 .sharktask-search{background:#fff;border:1px solid var(--st-border);border-radius:16px;box-shadow:0 16px 45px rgba(37,65,76,.1);max-width:720px;padding:.3rem}
.sharktask-hero-nearby{margin-top:.9rem}
.sharktask-hero-nearby .btn{font-size:.82rem;padding:.5rem 1rem}
.sharktask-hero-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;color:#63777e;font-size:.79rem}
.sharktask-hero-tags a{background:#fff;border:1px solid var(--st-border);border-radius:999px;color:var(--st-ink);padding:.42rem .75rem;transition:.2s ease}
.sharktask-hero-tags a:hover{background:var(--st-teal);border-color:var(--st-teal);color:#fff;transform:translateY(-1px)}
.sharktask-hero-v2 .sharktask-hero-visual{align-self:stretch;min-height:590px;position:relative}
.sharktask-hero-v2 .sharktask-hero-visual:before{background:#cfe7e5;clip-path:polygon(12% 4%,100% 0,100% 94%,20% 100%,0 62%);content:"";inset:0 -12vw 0 -5%;position:absolute}
.sharktask-hero-v2 .sharktask-hero-photo{clip-path:polygon(15% 4%,100% 0,100% 95%,18% 100%,0 61%);height:100%;inset:0 -7vw 0 0;max-width:none;object-fit:cover;object-position:55% center;position:absolute;width:calc(100% + 7vw)}
.sharktask-hero-note{color:var(--st-ink);font-family:cursive;font-size:1.15rem;left:7%;position:absolute;top:14%;transform:rotate(-5deg);z-index:2}
.sharktask-hero-card{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:14px;box-shadow:0 14px 35px rgba(37,65,76,.15);display:flex;flex-direction:column;padding:1rem 1.2rem;position:absolute;right:0;top:20%;width:180px;z-index:2}
.sharktask-hero-card strong{color:var(--st-ink);font-size:.92rem}.sharktask-hero-card span{color:#60777f;font-size:.75rem;line-height:1.4;margin-top:.25rem}

.st-directory{background:var(--st-ivory);color:var(--st-ink);padding-bottom:4.5rem}.st-directory-hero{background:linear-gradient(125deg,#fffdf9,#f9f5ec 55%,#e9f3f1);overflow:hidden}.st-directory-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2.5rem;min-height:500px}.st-directory-copy{padding:4rem 0}.st-directory-copy h1{font-size:clamp(3rem,5vw,4.9rem);font-weight:750;letter-spacing:-.055em;line-height:.98;margin:0;color:var(--st-ink)}.st-directory-copy h1 span{color:var(--st-coral)}.st-directory-copy>p:not(.st-kicker){color:#4f6972;font-size:1.05rem;line-height:1.55;margin:1.25rem 0;max-width:610px}.st-directory-search{align-items:center;background:#fff;border:1px solid var(--st-border);border-radius:14px;box-shadow:0 12px 34px rgba(37,65,76,.09);display:flex;max-width:670px;padding:.35rem}.st-directory-search>i{font-size:1rem;margin:0 .8rem 0 .7rem}.st-directory-search input{background:transparent;border:0;flex:1;min-width:0;outline:0;padding:.8rem 0}.st-directory-search button{background:var(--st-coral);border:0;border-radius:10px;color:#fff;font-weight:700;padding:.8rem 1.6rem}.st-quick-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.st-quick-filters button{background:#fff;border:1px solid var(--st-border);border-radius:999px;color:var(--st-ink);font-size:.8rem;padding:.48rem .85rem;transition:.2s ease}.st-quick-filters button.active,.st-quick-filters button:hover{background:var(--st-teal);border-color:var(--st-teal);color:#fff}.st-directory-photo-wrap{align-self:stretch;min-height:500px;position:relative}.st-directory-photo-wrap:before{background:#d7ece9;clip-path:polygon(8% 2%,100% 0,100% 96%,20% 100%,0 60%);content:"";inset:0 -12vw 0 -5%;position:absolute}.st-directory-photo-wrap>img{clip-path:polygon(13% 3%,100% 0,100% 96%,20% 100%,0 61%);height:100%;inset:0 -7vw 0 0;max-width:none;object-fit:cover;position:absolute;width:calc(100% + 7vw)}.st-directory-note{font-family:cursive;left:7%;position:absolute;top:12%;transform:rotate(-5deg);z-index:2}.st-directory-proof{background:rgba(255,255,255,.95);border-radius:13px;box-shadow:0 12px 32px rgba(37,65,76,.16);display:flex;flex-direction:column;padding:1rem 1.15rem;position:absolute;right:0;top:22%;width:175px}.st-directory-proof span{font-size:.75rem;margin-top:.2rem}.st-featured-category{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;margin-top:2.1rem}.st-featured-card{border-radius:18px;color:#fff;display:block;min-height:420px;overflow:hidden;position:relative}.st-featured-card>img{height:100%;object-fit:cover;position:absolute;width:100%}.st-featured-overlay{background:linear-gradient(90deg,rgba(15,39,47,.9),rgba(15,39,47,.2));inset:0;position:absolute}.st-featured-content{bottom:0;display:flex;flex-direction:column;left:0;max-width:420px;padding:2.2rem;position:absolute;top:0;justify-content:center}.st-featured-content small{font-size:.7rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.st-featured-content strong{font-size:2.4rem;line-height:1;margin:.7rem 0}.st-featured-content>span{font-size:.9rem;line-height:1.5}.st-featured-content b{align-self:flex-start;background:var(--st-coral);border-radius:999px;font-size:.8rem;margin-top:1.2rem;padding:.75rem 1rem}.st-featured-side{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.st-featured-side a{border-radius:16px;min-height:200px;overflow:hidden;position:relative;color:#fff}.st-featured-side img{height:100%;object-fit:cover;position:absolute;width:100%}.st-featured-side a:after{background:linear-gradient(0deg,rgba(20,46,55,.86),transparent);content:"";inset:0;position:absolute}.st-featured-side span{bottom:1rem;display:flex;flex-direction:column;left:1rem;position:absolute;z-index:2}.st-featured-side span small{font-size:.72rem;opacity:.85}.st-featured-side>a>i{background:#fff;border-radius:50%;bottom:1rem;color:var(--st-ink);padding:.65rem;position:absolute;right:1rem;z-index:2}.st-directory-catalog{padding-top:4.5rem}.st-directory-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:1.6rem}.st-directory-heading h2{font-size:clamp(2rem,3.2vw,3.15rem);letter-spacing:-.04em;margin:0}.st-directory-heading>span{color:#60777f;font-size:.82rem}.st-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.st-directory-card[hidden]{display:none}.st-directory-card a{align-items:center;background:#fff;border:1px solid rgba(37,65,76,.1);border-radius:14px;display:grid;grid-template-columns:112px 1fr 34px;gap:1rem;min-height:112px;padding:.55rem;transition:.22s ease}.st-directory-card a:hover{border-color:rgba(221,127,118,.6);box-shadow:0 12px 30px rgba(37,65,76,.09);transform:translateY(-2px)}.st-directory-card img{border-radius:10px;height:94px;object-fit:cover;width:112px}.st-directory-card-copy{display:flex;flex-direction:column;min-width:0}.st-directory-card-copy strong{color:var(--st-ink);font-size:.95rem}.st-directory-card-copy small{color:#61777f;font-size:.73rem;line-height:1.35;margin:.25rem 0}.st-directory-card-copy em{color:var(--st-coral);font-size:.68rem;font-style:normal;font-weight:700}.st-directory-card>a>i{align-items:center;background:#f1f4f2;border-radius:50%;color:var(--st-ink);display:flex;height:30px;justify-content:center;width:30px}.st-category-empty{background:#fff;border:1px dashed var(--st-border);border-radius:14px;padding:2rem;text-align:center}.st-trust-strip{background:#fff;border:1px solid var(--st-border);border-radius:16px;display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;padding:1.35rem 2rem}.st-trust-strip>div{align-items:center;display:flex;gap:1rem;justify-content:center}.st-trust-strip>div+div{border-left:1px solid var(--st-border)}.st-trust-strip i{color:var(--st-teal);font-size:1.5rem}.st-trust-strip span{display:flex;flex-direction:column}.st-trust-strip strong{font-size:.9rem}.st-trust-strip small{color:#697d84;font-size:.72rem}
@media(max-width:991px){.sharktask-hero-v2 .sharktask-hero-grid,.st-directory-hero-grid{grid-template-columns:1fr}.sharktask-hero-v2 .sharktask-hero-copy,.st-directory-copy{padding:3rem 0 1rem}.sharktask-hero-v2 .sharktask-hero-visual,.st-directory-photo-wrap{min-height:430px}.st-featured-category{grid-template-columns:1fr}.st-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.sharktask-hero-v2 h1,.st-directory-copy h1{font-size:2.8rem}.sharktask-hero-v2 .sharktask-hero-visual,.st-directory-photo-wrap{min-height:360px}.sharktask-hero-card,.st-directory-proof{right:.75rem}.st-featured-side{grid-template-columns:1fr 1fr}.st-category-grid{grid-template-columns:1fr}.st-directory-heading{align-items:start;flex-direction:column;gap:.5rem}.st-trust-strip{grid-template-columns:1fr;padding:1rem}.st-trust-strip>div{justify-content:flex-start;padding:.8rem}.st-trust-strip>div+div{border-left:0;border-top:1px solid var(--st-border)}}
@media(max-width:480px){.st-featured-side{grid-template-columns:1fr}.st-directory-card a{grid-template-columns:92px 1fr 30px}.st-directory-card img{height:82px;width:92px}}
.st-global-trust{background:#fff;border:1px solid var(--st-border);border-radius:16px;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:2rem;margin-top:2.5rem;padding:1.3rem 2rem;position:relative;z-index:2}.st-global-trust>div{align-items:center;display:flex;gap:.9rem;justify-content:center}.st-global-trust>div+div{border-left:1px solid var(--st-border)}.st-global-trust i{color:var(--st-teal);font-size:1.5rem}.st-global-trust span{display:flex;flex-direction:column}.st-global-trust strong{color:var(--st-ink);font-size:.9rem}.st-global-trust small{color:#6d7f85;font-size:.72rem}.st-footer{background:linear-gradient(135deg,#1d3d48,#285461);color:rgba(255,255,255,.78);padding:4.2rem 0 1.5rem;position:relative}.st-footer:before{background:var(--st-ivory);clip-path:ellipse(58% 18% at 50% 0);content:"";height:44px;left:0;position:absolute;right:0;top:-1px}.st-footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:3rem}.st-footer-brand .sharktask-logo{max-width:190px}.st-footer-brand p{font-size:.84rem;line-height:1.6;margin:1.25rem 0;max-width:310px}.st-footer-grid h3{color:#fff;font-size:.9rem;margin:0 0 1.15rem}.st-footer-grid>div:not(.st-footer-brand){display:flex;flex-direction:column;gap:.65rem}.st-footer-grid a{color:rgba(255,255,255,.76);font-size:.8rem}.st-footer-grid a:hover{color:#fff}.st-footer-social{display:flex;gap:.7rem}.st-footer-social a{align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;height:34px;justify-content:center;width:34px}.st-footer-bottom{align-items:center;border-top:1px solid rgba(255,255,255,.16);display:grid;font-size:.7rem;gap:1rem;grid-template-columns:1fr auto 1fr;margin-top:3rem;padding-top:1.25rem}.st-footer-bottom nav{display:flex;gap:1rem}.st-footer-bottom>span:last-child{text-align:right}.st-footer-bottom b{color:var(--st-coral)}
@media(max-width:991px){.st-footer-grid{grid-template-columns:1fr 1fr}.st-footer-bottom{grid-template-columns:1fr;text-align:center}.st-footer-bottom>span:last-child{text-align:center}.st-footer-bottom nav{justify-content:center}}
@media(max-width:767px){.st-global-trust{grid-template-columns:1fr;padding:1rem}.st-global-trust>div{justify-content:flex-start;padding:.65rem}.st-global-trust>div+div{border-left:0;border-top:1px solid var(--st-border)}.st-footer-grid{grid-template-columns:1fr}.st-footer{padding-top:3.5rem}}
.st-home-featured{background:var(--st-ivory);padding:4.75rem 0}.st-home-featured-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:1.5rem}.st-home-featured-heading h2{color:var(--st-ink);font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em;margin:0}.st-home-featured-heading>a{color:var(--st-teal);font-size:.82rem;font-weight:700}.st-home-featured .st-featured-category{margin-top:0}.st-category-tools{align-items:center;background:#fff;border:1px solid var(--st-border);border-radius:14px;display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:space-between;margin-bottom:1.4rem;padding:.7rem .85rem}.st-category-tools .st-directory-search{box-shadow:none;flex:0 1 300px;max-width:300px;min-height:42px;padding:.2rem}.st-category-tools .st-directory-search>i{font-size:.85rem;margin:0 .55rem 0 .5rem}.st-category-tools .st-directory-search input{font-size:.88rem;padding:.55rem 0}.st-category-tools .st-directory-search button{border-radius:9px;font-size:.82rem;padding:.55rem 1rem}.st-location-filters{align-items:center;display:flex;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;gap:.55rem;margin:0 0 0 auto}.st-city-filter{align-items:center;background:#f7f8f6;border:1px solid var(--st-border);border-radius:10px;display:flex;flex:0 0 190px;gap:.45rem;min-height:42px;padding:.25rem .7rem;width:190px}.st-city-filter>i{color:var(--st-coral);flex:0 0 auto;font-size:.85rem}.st-city-filter select{appearance:none;background:transparent;border:0;color:var(--st-ink);cursor:pointer;flex:1;font-size:.82rem;font-weight:600;min-width:0;outline:0;padding:.35rem 0}.st-city-filter select:disabled{cursor:not-allowed;opacity:.55}.st-clear-filters{align-items:center;color:var(--st-coral);display:inline-flex;flex:0 0 auto;font-size:.8rem;font-weight:700;gap:.4rem;padding:.35rem .25rem;text-decoration:none;white-space:nowrap}.st-clear-filters:hover{color:var(--st-ink);text-decoration:underline}.st-category-directory-page .st-directory-catalog{padding-top:4rem}.st-category-directory-page .st-directory{padding-top:.5rem}
@media(max-width:991px){.st-category-tools{flex-wrap:wrap}.st-category-tools .st-directory-search{flex:1 1 100%;max-width:none}.st-location-filters{flex:1 1 100%;justify-content:stretch;margin-left:0}.st-city-filter{flex:1 1 0;width:auto}}
@media(max-width:767px){.st-home-featured{padding:3.5rem 0}.st-home-featured-heading{align-items:flex-start;flex-direction:column;gap:.8rem}.st-category-tools{padding:.65rem}.st-category-tools .st-directory-search button{padding:.55rem .9rem}.st-location-filters{flex-wrap:nowrap}.st-city-filter{flex:1 1 0;min-width:0;width:auto}}

/* Category directory: search-first tools bar, view filters and taxonomy results */
.st-category-directory-page .st-category-tools{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem;flex-wrap:nowrap}
.st-category-directory-page .st-category-tools .st-taxonomy-search{flex:none;max-width:none;width:100%;min-height:54px;padding:.3rem;position:relative;border-color:rgba(37,65,76,.16)}
.st-category-directory-page .st-category-tools .st-taxonomy-search:focus-within{border-color:var(--st-coral);box-shadow:0 0 0 4px rgba(221,127,118,.22)}
.st-category-directory-page .st-category-tools .st-taxonomy-search>i{color:var(--st-coral);font-size:1rem;margin:0 .75rem 0 .8rem}
.st-category-directory-page .st-category-tools .st-taxonomy-search input{font-size:1rem;padding:.75rem 0}
.st-category-directory-page .st-category-tools .st-taxonomy-search input::-webkit-search-cancel-button{cursor:pointer}
.st-category-directory-page .st-category-tools .st-taxonomy-search button{font-size:.9rem;padding:.75rem 1.5rem}
.st-filter-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.st-category-directory-page .st-location-filters{margin:0;flex:1 1 auto}
.st-category-directory-page .st-city-filter{flex:1 1 170px;max-width:240px;min-width:0;width:auto}
.st-view-filters{display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap}
.st-category-directory-page .st-sort-filter{flex:0 0 170px}
.st-only-available{white-space:nowrap;align-items:center;background:#f7f8f6;border:1px solid var(--st-border);border-radius:10px;color:var(--st-ink);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.5rem;margin:0;min-height:42px;padding:.25rem .8rem;user-select:none}
.st-only-available input{accent-color:var(--st-coral);height:16px;width:16px}
.st-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;border-top:1px dashed var(--st-border);padding-top:.7rem}
.st-active-filters>span:empty{display:none}
.st-filter-chip{align-items:center;background:#fdf1ef;border:1px solid rgba(221,127,118,.35);border-radius:999px;color:var(--st-ink);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;max-width:100%;padding:.35rem .75rem;text-decoration:none}
.st-filter-chip:hover{background:#fbe2de;color:var(--st-ink)}
.st-filter-chip .fa-times{color:var(--st-coral);font-size:.7rem}
.st-active-filters .st-clear-filters{background:transparent;border:0;margin-left:auto}
.st-taxonomy-results{background:#fff;border:1px solid var(--st-border);border-radius:14px;box-shadow:0 22px 50px rgba(37,65,76,.18);left:0;max-height:min(30rem,70vh);overflow:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:40}
.st-taxonomy-results-head{align-items:center;color:#60777f;display:flex;font-size:.72rem;font-weight:800;gap:.5rem;letter-spacing:.12em;padding:.8rem 1rem .4rem;text-transform:uppercase}
.st-taxonomy-results-head span{background:#eef5f4;border-radius:999px;color:#39717a;letter-spacing:0;padding:.05rem .5rem}
.st-taxonomy-option{align-items:center;border-left:3px solid transparent;color:var(--st-ink);display:grid;gap:.85rem;grid-template-columns:38px 1fr 18px;padding:.7rem 1rem;text-decoration:none;transition:background .15s ease}
.st-taxonomy-option+.st-taxonomy-option{border-top:1px solid #f0f2f0}
.st-taxonomy-option:hover{background:#fdf6f4;border-left-color:rgba(221,127,118,.5);color:var(--st-ink)}
.st-taxonomy-option.active{background:#fbe9e6;border-left-color:var(--st-coral);color:var(--st-ink)}
.st-taxonomy-option-icon{align-items:center;background:#eef5f4;border-radius:10px;color:#39717a;display:flex;height:38px;justify-content:center;width:38px}
.st-taxonomy-option-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.st-taxonomy-option-copy strong{font-size:.95rem;line-height:1.25}
.st-taxonomy-option-copy strong span{color:#60777f;font-weight:600}
.st-taxonomy-option-copy small{color:#60777f;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-taxonomy-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}
.st-taxonomy-tags span{background:#f4f6f4;border-radius:999px;color:#4f6972;font-size:.68rem;padding:.1rem .5rem}
.st-taxonomy-option-go{color:#a4b2b6;font-size:.8rem}
.st-taxonomy-option:hover .st-taxonomy-option-go,.st-taxonomy-option.active .st-taxonomy-option-go{color:var(--st-coral)}
.st-taxonomy-results-empty{display:flex;flex-direction:column;gap:.2rem;padding:1rem}
.st-taxonomy-results-empty strong{color:var(--st-ink);font-size:.92rem}
.st-taxonomy-results-empty span{color:#60777f;font-size:.8rem}
.st-taxonomy-results-foot{align-items:center;background:#f9faf8;border-top:1px solid var(--st-border);color:#39717a;display:flex;font-size:.82rem;font-weight:700;gap:.5rem;padding:.75rem 1rem;position:sticky;bottom:0;text-decoration:none}
.st-taxonomy-results-foot:hover{background:#eef5f4;color:var(--st-ink)}
.st-card-match{background:#eef5f4;border-radius:6px;color:#39717a;display:inline-block;font-size:.68rem;font-weight:700;margin:.1rem 0 .3rem;max-width:100%;overflow:hidden;padding:.12rem .45rem;align-self:flex-start;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}
.st-directory-card.st-card-highlight a{border-color:rgba(57,113,122,.45)}
.st-category-directory-page .st-category-empty{align-items:center;display:flex;flex-direction:column;gap:.45rem}
.st-category-directory-page .st-category-empty>i{color:var(--st-coral);font-size:1.4rem}
.st-category-directory-page .st-category-empty>span{color:#60777f;font-size:.85rem;max-width:460px}
.st-category-directory-page .st-category-empty .btn{margin-top:.4rem}
@media(max-width:767px){.st-filter-row{align-items:stretch;flex-direction:column}.st-category-directory-page .st-city-filter{max-width:none}.st-category-directory-page .st-location-filters,.st-view-filters{width:100%}.st-view-filters{flex-wrap:nowrap}.st-category-directory-page .st-sort-filter{flex:1 1 0;min-width:0}.st-only-available{flex:1 1 0;justify-content:center;min-width:0}.st-category-directory-page .st-category-tools .st-taxonomy-search button{padding:.7rem 1rem}.st-taxonomy-option{grid-template-columns:32px 1fr 14px;padding:.65rem .8rem}.st-taxonomy-option-icon{height:32px;width:32px}}
/* The wrapper draws the focus ring (:focus-within), so the input does not draw a second one. */
.st-category-directory-page .st-category-tools .st-taxonomy-search input:focus,.st-category-directory-page .st-category-tools .st-taxonomy-search input:focus-visible{border:0;box-shadow:none;outline:0 !important}
@media(max-width:575px){.st-category-directory-page .st-location-filters{flex-direction:column;align-items:stretch}.st-category-directory-page .st-location-filters .st-city-filter{flex:1 1 auto;max-width:none;width:100%}}
.st-category-directory-page #stCategoryGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.st-category-directory-page .st-directory-card { min-width: 0; }
.st-category-directory-page .st-directory-card > a {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 22px;
    background: #243036;
    isolation: isolate;
}
.st-category-directory-page .st-directory-card > a::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 35%, rgba(0,0,0,.12) 50%, rgba(0,0,0,.78) 82%, rgba(0,0,0,.9) 100%);
    pointer-events: none;
}
.st-category-directory-page .st-directory-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
}
.st-category-directory-page .st-directory-card-copy {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: 1;
    gap: 7px;
}
.st-category-directory-page .st-directory-card-copy strong {
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.2rem, 1.55vw, 1.55rem);
    font-weight: 600;
    line-height: 1.18;
    overflow-wrap: anywhere;
    text-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.st-category-directory-page .st-directory-card-copy em {
    color: #fff;
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.3;
}
.st-category-directory-page .st-directory-card-copy small,
.st-category-directory-page .st-directory-card > a > i { display: none; }
.st-category-directory-page .st-directory-card-copy .st-card-match {
    background: rgba(0, 0, 0, .65);
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    font-size: .75rem;
    font-weight: 500;
    margin: 0;
    padding: .3rem .5rem;
    overflow-wrap: anywhere;
}
.st-category-directory-page .st-directory-card > a:focus-visible {
    outline: 3px solid var(--st-teal);
    outline-offset: 4px;
}
@media (max-width: 1199px) {
    .st-category-directory-page #stCategoryGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .st-category-directory-page #stCategoryGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .st-category-directory-page #stCategoryGrid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .st-category-directory-page .st-directory-card-copy strong { font-size: 1.5rem; }
    .st-category-directory-page .st-directory-card-copy { right: 20px; bottom: 20px; left: 20px; }
}
