/*
Theme Name: Skin & Laser Lounge
Theme URI: https://miletestsite.com/skin/
Author: MILE Social Team
Author URI: https://milesocial.com/
Description: Custom WordPress theme for Skin & Laser Lounge, migrated from a Thesis (DIYThemes) "slltwo" skin to a standard, self-contained WordPress theme with full Gutenberg / block editor support. Includes a custom Testimonials post type (ACF-powered), a mega menu, sticky header, and back-to-top behavior ported from the original skin.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Text Domain: slltwo
Tags: custom-menu, custom-logo, featured-images, footer-widgets, block-styles, wide-blocks, editor-style, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

---

Base layout, resets, and component styles below are carried over from the
original Thesis "slltwo" skin stylesheet (compiled from its SCSS source),
kept as close to the original design as possible.
*/

/* ======================================================
   0. WordPress-required base classes
====================================================== */
.alignleft { float: left; margin-right: 1.5em; margin-bottom: 1em; }
.alignright { float: right; margin-left: 1.5em; margin-bottom: 1em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide { max-width: 100%; }
/* alignfull breaks out of the .slltwo-column side padding to true edge-to-edge */
.alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f7f1e6; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0,0,0,.6); clip: auto !important; clip-path: none; color: #111; display: block; font-size: 1rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }
.sticky { }
.gallery-caption { }
.bypostauthor { }

/*
 * ---:[ Thesis CSS reset ]:---
 */
* {
  margin: 0;
  padding: 0; }

html {
  word-break: break-word;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  word-break: normal; }

img,
fieldset {
  border: 0; }

abbr,
acronym {
  text-decoration: none; }

code {
  line-height: 1em; }

pre {
  overflow: auto;
  word-wrap: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

sub,
sup {
  line-height: 0.5em; }

img,
.wp-caption {
  max-width: 100%;
  height: auto; }

iframe,
video,
embed,
object {
  display: block;
  max-width: 100%; }

img {
  display: block; }

.left,
.alignleft,
img[align=left] {
  display: block;
  float: left; }

.right,
.alignright,
img[align=right] {
  display: block;
  float: right; }

.center,
.aligncenter,
img[align=middle] {
  display: block;
  float: none;
  text-align: center;
  margin-right: auto;
  margin-left: auto; }

.clear {
  clear: both; }

input[type=submit],
button {
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none; }

.wp-smiley {
  display: inline; }

/*
 * ======================================================
 * 1. Base Styles
 * ======================================================
 */
html {
  font-size: 16px;
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
    /*
   * 16px
   */
  line-height: 1.6;
  color: #111111;
  background-color: #f7f1e6;
  padding-top: 135px; }

p {
  margin-bottom: 20px; }

/*
 * ======================================================
 * 3. Heading Styles
 * - H1-H6 with responsive scaling
 * ======================================================
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  line-height: 1.2; }

h1 {
  font-size: 2.5rem; }

/*
 * 40px
 */
h2 {
  font-size: 2rem; }

/*
 * 32px
 */
h3 {
  font-size: 1.75rem; }

/*
 * 28px
 */
h4 {
  font-size: 1.5rem; }

/*
 * 24px
 */
h5 {
  font-size: 1.25rem; }

/*
 * 20px
 */
h6 {
  font-size: 1rem; }

/*
 * 16px
 */
/*
 * ======================================================
 * 4. Responsive Headings
 * ======================================================
 */
@media (max-width: 768px) {
  h1 {
    font-size: 2rem; }

  h2 {
    font-size: 1.75rem; }

  h3 {
    font-size: 1.5rem; }

  h4 {
    font-size: 1.25rem; }

  h5 {
    font-size: 1.1rem; }

  h6 {
    font-size: 1rem; } }

@media (max-width: 480px) {
  h1 {
    font-size: 1.75rem; }

  h2 {
    font-size: 1.5rem; }

  h3 {
    font-size: 1.25rem; }

  h4 {
    font-size: 1.1rem; }

  h5 {
    font-size: 1rem; }

  h6 {
    font-size: 0.9rem; } }

/*
 * ======================================================
 * 5. Links & Buttons
 * ======================================================
 */
a {
  color: #bd6868;
  text-decoration: none;
  transition: color 0.3s ease; }

a:hover {
  color: #111111; }

.slltwo-peach-color {
  color: #bd6868; }

/*
 * ======================================================
 * 6. Images & Media (Prevent Layout Shifts)
 * ======================================================
 */
img {
  max-width: 100%;
  height: auto;
  display: block; }

/*
 * ======================================================
 * 7. Sticky Header
 * ======================================================
 */
header {
  position: sticky;
  top: 0;
  width: 100%;
  background: white;
  z-index: 1000;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }

/*
 * ======================================================
 * 8. Animations (Performance-Friendly)
 * ======================================================
 */
.fade-in {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease; }

.fade-in.visible {
  opacity: 1;
  transform: translateY(0); }


/*
 * ======================================================
 * 11. Utilities
 * ======================================================
 */
.text-center {
  text-align: center; }

.hidden {
  display: none !important; }

.slltwo-unique-heading {
  font-family: "Allura", cursive;
  color: #bd6868 !important;
  font-size: 40px; }

.slltwo-main-container {
  background-color: #f7f1e6; }

/*
 * Fluid container with max-width
 */
.slltwo-container {
  width: 100%;
  max-width: 1320px;
    /*
   * Adjust for your design
   */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
    /*
   * space on small screens
   */
  padding-right: 1rem; }

.slltwo-logo img {
  width: 140px; }

.slltwo-header {
  position: relative; }

.slltwo-flex {
  display: flex; }

.slltwo-flex-ac {
  align-items: center; }

/*
 * ===== Collapsible Content =====
 */
.collapsable-content {
  display: block;
  padding: 0;
  margin: 0; }

/*
 * Make menu horizontal
 */
.collapsable-content ul.menu {
  display: flex;
    /*
   * arrange li items in a row
   */
  flex-wrap: wrap;
    /*
   * wrap to next line if screen is too small
   */
  gap: 0.5rem;
    /*
   * space between items
   */
  margin: 0;
  padding: 0;
  list-style: none; }

/*
 * Each menu item
 */
.collapsable-content ul.menu li {
  border: none;
  position: relative;
  padding: 0.75rem 1rem; }

/*
 * Make sure anchor is positioned
 */
.collapsable-content ul.menu li a {
  position: relative;
  display: inline-block;
  color: #111111;
  font-size: 1.125rem;
  letter-spacing: 1px; }

/*
 * Underline effect
 */
.collapsable-content ul.menu li a:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  opacity: 0;
  transform: translateY(3px) scaleY(0);
  transform-origin: left;
  transition: transform 250ms ease, opacity 250ms ease; }

.collapsable-content ul.menu li .services-mega-links a:after {
  display: none; }

/*
 * Hover effect
 */
.collapsable-content ul.menu li:hover > a:after {
  opacity: 1;
  transform: translateY(0) scaleY(1); }

/*
 * Mega menu stays absolute below parent
 */
.collapsable-content ul.menu li.menu-item-has-children {
  position: initial; }

.services-mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
    /*
   * adjust width
   */
  background: white;
  border: 1px solid #dddddd;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 1rem; }

.services-mega-menu.open {
  display: block; }

.services-mega-links {
  list-style: none;
  margin: 0;
  padding: 0; }

.services-mega-links > li {
  width: 31.5%;
  box-sizing: border-box;
  margin-bottom: 20px;
  list-style: none;
  vertical-align: top;
  margin: 0 5px;
  display: inline-block; }

.services-mega-links li.current-menu-item a {
  color: #a2a2a2 !important; }

.services-mega-links li a {
  display: block;
  padding: 0.5rem 0;
  text-decoration: none;
  color: #222222; }

.services-mega-links .sub-sub-menu {
  margin-left: 20px; }

.collapsable-content ul.menu .services-mega-links .sub-sub-menu li {
  padding: 0; }

.collapsable-content ul.menu .services-mega-links .sub-sub-menu li a {
  padding: 0; }

.collapsable-content ul.menu .services-mega-links li.menu-item-has-children a {
  font-weight: 600; }

.collapsable-content ul.menu .services-mega-links .sub-sub-menu li a {
  font-weight: normal; }

.collapsable-content ul.menu .services-mega-links li.menu-item-has-children a i {
  display: none; }

/*
 * ===== Mega Menu Arrow =====
 */
.menu-item-has-children > a i {
  margin-left: 0.3rem;
  transition: transform 0.3s ease;
  font-size: 14px; }

.menu-item-has-children.open > a i {
  transform: rotate(180deg); }
  
.submenu-toggle {
  display: none; }

.services-mega-menu .submenu-toggle {
  display: none !important; }

.slltwo-inner-header {
  position: relative; }

.slltwo-ihr {
  margin-left: auto; }

.slltwo-head-btns {
  display: flex;
  gap: 12px; }

.slltwo-btn {
  display: inline-block;
  text-decoration: none;
  font-size: 1.125rem;
  letter-spacing: 1px;
  color: black; }

.slltwo-btn.slltwo-fbtn {
  color: black; }

.slltwo-btn.slltwo-fbtn:hover {
  color: black; }

.slltwo-btn.slltwo-sbtn {
  color: white; }

.btn-inner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 35px 12px 35px;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px black;
  transition: border-radius 160ms ease-out;
  overflow: hidden;
  position: relative; }

.slltwo-sbtn .btn-inner {
  background-color: black; }

/*
 * Arrow initial state
 */
.btn-builtin-icon {
  transform: translateX(-12px);
  opacity: 0;
  transition: transform 160ms ease-out, opacity 160ms ease-out;
  position: absolute;
  inset: 50% auto auto 15px;
  -webkit-translate: 0 -50%;
  -moz-translate: 0 -50%;
  -ms-translate: 0 -50%;
  translate: 0 -50%; }

/*
 * Text transition
 */
.btn-text {
  transition: transform 160ms ease-out; }

/*
 * Hover effects
 */
.slltwo-btn:hover .btn-inner {
  border-radius: 0; }

.slltwo-btn:hover .btn-builtin-icon {
  transform: translateX(0);
  opacity: 1; }

.slltwo-btn:hover .btn-text {
  transform: translateX(6px); }

.slltwo-text-center {
  text-align: center; }

.slltwo-hero-sec h1 {
  font-size: 100px;
  font-style: italic;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  font-weight: 200; }

.slltwo-hero-sec .slltwo-btn.slltwo-fbtn {
  color: black;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 18px; }

.slltwo-hero-sec .btn-inner {
  box-shadow: inset 0 0 0 1px white;
  background-color: white; }

.swiper-pagination {
  bottom: -30px !important; }

.slltwo-container-margin-nr {
  padding: 40px 0 40px 40px; }

.slltwo-container-margin {
  padding: 40px; }

.slltwo-container-margin-ntb {
  padding: 20px 40px; }

.swiper-slide-content {
  display: flex;
  flex-direction: column;
    /*
   * Column layout for content
   */
  justify-content: center;
  align-items: center;
  padding: 6%;
  position: absolute;
  bottom: 0;
    /*
   * top/right/bottom/left spacing
   */
  background-color: rgba(250, 243, 241, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transform: translateY(50px);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  z-index: 2;
  gap: 15px;
  text-align: center; }

.swiper-slide:hover .swiper-slide-content {
  transform: translateY(0);
  opacity: 1; }

.slltwo-title-heading {
  font-size: 60px;
  font-weight: 200;
  text-transform: uppercase;
  font-style: italic; }

.slltwo-title-heading strong {
  font-family: "Ibarra Real Nova", serif;
  text-transform: capitalize; }

.slltwo-title-pointer {
  position: relative;
  padding-left: 40px; }

.slltwo-title-pointer:before {
  font-family: fontawesome;
  content: '\f185';
  position: absolute;
  left: 0;
  color: #e89797;
  font-style: normal; }

.slltwo-title-small {
  font-size: 30px;
  font-style: italic;
  font-family: "Ibarra Real Nova", serif;
  text-transform: capitalize; }

.swiper-slide h2 {
  position: absolute;
  background-color: #edcbcb;
  color: black;
  padding: 20px 40px;
  left: 0;
  font-weight: 200;
  font-style: italic; }

.swiper-button-prev,
.swiper-button-next {
  color: black !important; }

.slltwo-home-whychoose h3 {
  font-weight: 400; }

#site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: #efe7d9; }

/*
 * Hide header
 */
.header-hidden {
  transform: translateY(-100%); }

/*
 * Optional: add shadow when visible
 */
.header-visible {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); }

.myTesti {
  width: 100%;
  position: relative; }

.myTesti .swiper-slide {
  background: #f8f9fa;
  position: relative;
  padding: 70px 32px 30px;
  box-sizing: border-box;
  min-height: 300px; }

.myTesti .swiper-slide:before {
  background: #e89e9e;
  color: white;
  content: "\f10d";
  display: block;
  font-family: FontAwesome;
  font-size: 24px;
  font-style: normal;
  height: 48px;
  left: 10px;
  line-height: 48px;
  position: absolute;
  text-align: center;
  top: 10px;
  width: 48px; }

.myTesti .swiper-slide p {
  font-size: 16px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 32px;
  color: #9d9d9d; }

.swiper-button-prev-2,
.swiper-button-next-2 {
  position: absolute;
  top: 0;
  width: 40px;
    /*
   * adjust as needed
   */
  z-index: 10;
  background: rgba(0, 0, 0, 0.3);
    /*
   * optional styling
   */ }

.slltwo-footer {
  padding: 30px;
  color: white; }

.slltwo-footer-inner {
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #552626;
  margin-bottom: 20px; }

.slltwo-footer-inner > *:not(:last-child) {
  position: relative;
    /*
   * needed for pseudo-element
   */
  padding-right: 20px; }

.slltwo-footer-inner > *:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
    /*
   * adjust to move line down from top
   */
  bottom: 0;
    /*
   * adjust to shorten line from bottom
   */
  right: 0;
  width: 1px;
    /*
   * thickness of the line
   */
  background-color: #888888;
    /*
   * line color
   */ }

.slltwo-footer-inner .widget {
  width: 33.3%; }

.slltwo-footer .wp-block-columns {
  margin-bottom: 0; }

.slltwo-footer-bg {
  background-color: black;
  padding: 40px 0; }

.slltwo-fw1 figure {
  margin-bottom: 0; }

.slltwo-fw1 img {
  width: 200px;
  height: 200px;
  border-radius: 50%; }

.slltwo-fw1 .btn-inner {
  box-shadow: inset 0 0 0 1px white;
  background-color: white; }

.slltwo-fw2 a {
  display: table;
  vertical-align: top;
  margin-bottom: 5px;
  padding-bottom: 5px;
  color: #e89797; }

.slltwo-fw2 a:hover {
  color: white; }

.slltwo-fw2 .slltwo-fw2-icon {
  display: table-cell;
  width: 40px;
  font-size: 20px; }

.slltwo-fw2 .slltwo-fw2-content {
  display: table-cell;
  vertical-align: top; }

.slltwo-fw3 p {
  margin-bottom: 15px; }

.cancellation-policy h3 {
  color: white;
  font-size: 2.2em;
  margin-bottom: 10px;
  font-weight: 200; }

.cancellation-policy p {
  font-size: 1em;
  line-height: 1.5; }

.cancellation-policy strong {
  font-weight: 400;
  color: #e89797;
    /*
   * emphasize critical info
   */ }

.attribution {
  text-align: center;
  padding: 0 20px; }

.attribution a:hover {
  color: white; }

#backToTop {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 45px;
  height: 45px;
  border: none;
  border-radius: 50%;
  background: #e89797;
  color: white;
  font-size: 18px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  z-index: 999; }

/*
 * Show button
 */
#backToTop.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

/*
 * Hover effect
 */
#backToTop:hover {
  background: #666666;
  transform: translateY(-3px) scale(1.05); }

.slltwo-inner-icon {
  gap: 20px;
  font-size: 18px; }

.slltwo-inner-icon i {
  color: #e89797;
  padding-right: 10px; }

.collapsable-btn {
  display: none; }

.slltwo-list-grid-twocol {
  display: grid;
  grid-column-gap: 24px;
  grid-row-gap: 18px;
  grid-template-columns: 1fr 1fr; }

.slltwo-list-grid-twocol li {
  list-style: none;
  font-size: 18px;
  position: relative;
  padding-left: 30px; }

.slltwo-list-grid-twocol li:before {
  font-family: fontawesome;
  content: '\f185';
  position: absolute;
  left: 0;
  color: #e89797; }

.slltwo-contact-info {
  position: relative; }

.slltwo-contact-info h3 {
  font-family: "Open Sans", sans-serif;
  font-weight: 200;
  padding-left: 30px;
  font-size: 1.1rem;
  line-height: 1.5;
  color: #bd6868; }

.slltwo-contact-info h3 .slltwo-fw2-icon {
  position: absolute;
  left: 0; }

.sub-submenu-view-more {
  display: none; }

.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after,
.twentytwenty-vertical .twentytwenty-handle:before,
.twentytwenty-vertical .twentytwenty-handle:after {
  content: " ";
  display: block;
  background: white;
  position: absolute;
  z-index: 30;
  -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-horizontal .twentytwenty-handle:before,
.twentytwenty-horizontal .twentytwenty-handle:after {
  width: 3px;
  height: 9999px;
  left: 50%;
  margin-left: -1.5px; }

.twentytwenty-vertical .twentytwenty-handle:before,
.twentytwenty-vertical .twentytwenty-handle:after {
  width: 9999px;
  height: 3px;
  top: 50%;
  margin-top: -1.5px; }

.twentytwenty-before-label,
.twentytwenty-after-label,
.twentytwenty-overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; }

.twentytwenty-before-label,
.twentytwenty-after-label,
.twentytwenty-overlay {
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  transition-duration: 0.5s; }

.twentytwenty-before-label,
.twentytwenty-after-label {
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  transition-property: opacity; }

.twentytwenty-before-label:before,
.twentytwenty-after-label:before {
  color: white;
  font-size: 13px;
  letter-spacing: 0.1em; }

.twentytwenty-before-label:before,
.twentytwenty-after-label:before {
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  line-height: 38px;
  padding: 0 20px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.twentytwenty-horizontal .twentytwenty-before-label:before,
.twentytwenty-horizontal .twentytwenty-after-label:before {
  top: 50%;
  margin-top: -19px; }

.twentytwenty-vertical .twentytwenty-before-label:before,
.twentytwenty-vertical .twentytwenty-after-label:before {
  left: 50%;
  margin-left: -45px;
  text-align: center;
  width: 90px; }

.twentytwenty-left-arrow,
.twentytwenty-right-arrow,
.twentytwenty-up-arrow,
.twentytwenty-down-arrow {
  width: 0;
  height: 0;
  border: 6px inset transparent;
  position: absolute; }

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
  top: 50%;
  margin-top: -6px; }

.twentytwenty-up-arrow,
.twentytwenty-down-arrow {
  left: 50%;
  margin-left: -6px; }

.twentytwenty-container {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  z-index: 0;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; }

.twentytwenty-container img {
  max-width: 100%;
  position: absolute;
  top: 0;
  display: block; }

.twentytwenty-container.active .twentytwenty-overlay,
.twentytwenty-container.active :hover.twentytwenty-overlay {
  background: transparent; }

.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-after-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-before-label,
.twentytwenty-container.active :hover.twentytwenty-overlay .twentytwenty-after-label {
  opacity: 0; }

.twentytwenty-container * {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.twentytwenty-before-label {
  opacity: 1; }

.twentytwenty-before-label:before {
  content: attr(data-content); }

.twentytwenty-after-label {
  opacity: 1; }

.twentytwenty-after-label:before {
  content: attr(data-content); }

.twentytwenty-horizontal .twentytwenty-before-label:before {
  left: 10px; }

.twentytwenty-horizontal .twentytwenty-after-label:before {
  right: 10px; }

.twentytwenty-vertical .twentytwenty-before-label:before {
  top: 10px; }

.twentytwenty-vertical .twentytwenty-after-label:before {
  bottom: 10px; }

.twentytwenty-overlay {
  -webkit-transition-property: background;
  -moz-transition-property: background;
  transition-property: background;
  background: transparent;
  z-index: 25; }

.twentytwenty-overlay:hover {
  background: rgba(0, 0, 0, 0.5); }

.twentytwenty-overlay:hover .twentytwenty-after-label {
  opacity: 1; }

.twentytwenty-overlay:hover .twentytwenty-before-label {
  opacity: 1; }

.twentytwenty-before {
  z-index: 20; }

.twentytwenty-after {
  z-index: 10; }

.twentytwenty-handle {
  height: 38px;
  width: 38px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -22px;
  margin-top: -22px;
  border: 3px solid white;
  -webkit-border-radius: 1000px;
  -moz-border-radius: 1000px;
  border-radius: 1000px;
  -webkit-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0px 0px 12px rgba(51, 51, 51, 0.5);
  z-index: 40;
  cursor: pointer; }

.twentytwenty-horizontal .twentytwenty-handle:before {
  bottom: 50%;
  margin-bottom: 22px;
  -webkit-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0 3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-horizontal .twentytwenty-handle:after {
  top: 50%;
  margin-top: 22px;
  -webkit-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 0 -3px 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-vertical .twentytwenty-handle:before {
  left: 50%;
  margin-left: 22px;
  -webkit-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: 3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-vertical .twentytwenty-handle:after {
  right: 50%;
  margin-right: 22px;
  -webkit-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  -moz-box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5);
  box-shadow: -3px 0 0 white, 0px 0px 12px rgba(51, 51, 51, 0.5); }

.twentytwenty-left-arrow {
  border-right: 6px solid white;
  left: 50%;
  margin-left: -17px; }

.twentytwenty-right-arrow {
  border-left: 6px solid white;
  right: 50%;
  margin-right: -17px; }

.twentytwenty-up-arrow {
  border-bottom: 6px solid white;
  top: 50%;
  margin-top: -17px; }

.twentytwenty-down-arrow {
  border-top: 6px solid white;
  bottom: 50%;
  margin-bottom: -17px; }

.sub-sub-menu > li:nth-child(n+5) {
  display: none; }

.sub-sub-menu.expanded > li {
  display: list-item; }

.sub-submenu-view-more {
  display: block;
  width: 100%;
  padding: 6px;
  background: #f2f2f2;
  border: none;
  text-align: center;
  cursor: pointer;
  margin-top: 5px;
  font-size: 14px;
  margin-bottom: 15px; }
  
 .slltwo-mobonly-headpad.slltwo-container-margin-ntb{
     padding:0 40px;
 }

/*
 * ===== Responsive =====
 */
@media (max-width: 768px) {
  .collapsable-content {
    display: none; }

  .collapsable-content.open {
    display: block; }

  .services-mega-menu {
    position: relative;
    width: 100%;
    border: none;
    box-shadow: none;
    padding-left: 1rem;
    top: 0; }

  .sub-sub-menu.expanded > li {
    display: block; } 
    
/*Mobile Only Head Padding*/

.slltwo-mobonly-headpad.slltwo-container-margin-ntb{
    padding:0;
}
.slltwo-moh-padding{
    padding:0 20px 20px;
}   

.slltwo-home-whychoose{
    padding:20px!important;
}

}

/*
 * Optional: responsive tweaks
 */
@media (max-width: 1200px) {
  .slltwo-container {
    max-width: 1140px; } }

@media (max-width: 992px) {
  .slltwo-container {
    max-width: 960px; } }

@media (max-width: 768px) {
  .slltwo-container {
    max-width: 720px; }

  .slltwo-home-hero {
    min-height: 450px !important; }

  .slltwo-home-hero h1 {
    font-size: 50px; }

  .slltwo-title-heading {
    font-size: 30px; }

  .slltwo-container-margin {
    padding: 20px 20px; }

  .slltwo-home-whychoose .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important; }

  .slltwo-home-whychoose .wp-block-column {
    flex-basis: 45% !important;
    flex: 0 0 50%; }

  .slltwo-mobile-nstack .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important; }

  .slltwo-mobile-nstack .wp-block-column {
    flex-basis: 45% !important;
    flex: 0 0 50%; }

  .slltwo-footer-inner {
    flex-wrap: wrap; }

  .slltwo-footer-inner .widget {
    width: 100%; }

  .slltwo-container-margin-nr {
    padding: 20px 0 20px 20px; }

  .slltwo-home-brands .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-basis: 45% !important; }

  .slltwo-footer {
    padding: 15px 0; }

  .slltwo-footer-bg {
    padding: 30px 15px; }

  .slltwo-footer-inner > *:not(:last-child) {
    padding-right: 0; }

  .slltwo-footer-inner > *:not(:last-child)::after {
    display: none; }

  .cancellation-policy h3 {
    font-size: 1.6em; }

  a.collapsable-btn {
    letter-spacing: 1px;
    text-transform: uppercase;
    display: flex;
    margin-right: auto;
    color: #111111;
    height: auto;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    padding: 10px 0 10px;
    display: block;
    text-align: center; }

  .collapsable-content ul.menu {
    gap: 0; }

  .collapsable-content ul.menu li {
    padding: 0.25rem 1rem; }

  .collapsable-btn .text,
  .collapsable-btn .bars {
    position: relative;
    vertical-align: middle;
    display: inline-block; }

  .collapsable-btn .text {
    color: #111111;
    line-height: 28px;
    margin: 0 0 0 10px;
    display: none; }

  .collapsable-btn .bars span {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    transition-timing-function: ease;
    border-bottom: 2px solid #322c2a;
    margin: 5px 0px;
    width: 20px;
    display: block; }

  .collapsable-btn.collapsed .bars span:first-child {
    transform: rotate(45deg) translate(7px, 2px); }

  .collapsable-btn.collapsed .bars span:nth-child(2) {
    border-color: transparent; }

  .collapsable-btn.collapsed .bars span:last-child {
    transform: rotate(-45deg) translate(8px, -3px); }

  .collapsable-content {
    background-color: #e0e0e0;
    left: 0;
    overflow: hidden !important;
    position: absolute;
    top: 96px;
    width: 0;
    visibility: hidden;
    z-index: 999; }

  .menu-main-menu-container {
    opacity: 0;
    overflow: auto;
    transition: opacity 1s;
    position: relative; }

  .menu li {
    display: block;
    position: relative !important;
    width: 100%; }

  .menu li a {
    display: block;
    text-align: left;
    color: #111111;
    padding: 3px 20px; }

  .collapsable-content.collapse {
    width: 100% !important;
    visibility: visible; }

  .collapse .menu-main-menu-container {
    opacity: 1; }

  .collapsable-content ul.menu li a {
    display: block; }

  .menu .navmenu {
    position: relative; }

  .menu li .sub-menu {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    display: none; }

.menu li .sub-menu.show-subnav,
.menu-item-has-children.open > .sub-menu {
  display: block;
  margin-top: 0;
  margin-bottom: 0; }

  .menu li .sub-menu a {
    padding: 10px 40px; }

  .menu li.menu-pos-in a {
    text-align: left; }


  .menu-item-has-children > a span {
    display: none; }
    
    .collapsable-content ul.menu li.menu-item-has-children > a {
    padding-right: 44px; }

    .menu-item-has-children > a i {
    display: none; }

  .submenu-toggle {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-size: 0; }

  .submenu-toggle::before {
    content: "+";
    display: block;
    font-size: 20px;
    line-height: 44px;
    color: #111111; }

  .submenu-toggle[aria-expanded="true"]::before {
    content: "\2212"; }

.sub-menu.show-subnav,
.menu-item-has-children.open > .sub-menu {
  position: relative;
  visibility: visible;
  display: block;
  opacity: 1;
  margin-left: 0;
  width: 100%;
  box-shadow: none;
  background-color: #f2f2f2;
  padding: 0;
  border-radius: 0; }

  .menu li .services-mega-menu {
    visibility: hidden;
    opacity: 0; }

  .menu li .services-mega-menu.open {
    visibility: visible;
    opacity: 1; }

  .menu li .services-mega-menu.show-subnav {
    visibility: visible;
    opacity: 1;
    position: relative; }

  .services-mega-links {
    display: flex;
    flex-wrap: wrap; }

  .collapsable-content ul.menu .services-mega-links li {
    padding: 0;
    flex-basis: 45% !important; }

  .collapsable-content ul.menu .services-mega-links li a {
    padding: 0; }

  .collapsable-content ul.menu .services-mega-links .sub-sub-menu li a {
    font-size: 0.95rem;
    padding: 3px 10px; }

  .services-mega-links .sub-sub-menu {
    margin-left: 0px; }

  .menu li:hover .sub-menu.mega-sub-menu.show-subnav {
    position: relative;
    visibility: visible;
    opacity: 1;
    margin-left: 0;
    box-shadow: none;
    background-color: #f2f2f2;
    padding: 14px;
    border-radius: 0; }

  .menu li .sub-menu.mega-sub-menu .mega-column a {
    text-align: center; }

  .menu li.menu-pos-in .sub-menu li a {
    background-color: white; }

  .slltwo-head-btns .slltwo-btn {
    font-size: 1rem;
    letter-spacing: 0px; }

  .slltwo-head-btns .btn-inner {
    padding: 12px; }

  .slltwo-head-btns .btn-inner .btn-builtin-icon {
    display: none; }

  .slltwo-ihl {
    gap: 10px; }

  body {
    padding-top: 96px; }

  .slltwo-logo img {
    width: 100px; }

  .slltwo-container-margin-ntb {
    padding: 0 20px; 
      margin-bottom:20px;
  }
  
  .wp-block-image img {
    height: auto !important;
}

.archive .slltwo-container{
    padding:30px 20px;
}

  .slltwo-order-two {
    order: 2; }

  .slltwo-footer .wp-block-columns {
    gap: 10px; }

  .cancellation-policy h3 {
    margin-top: 0; }

  .slltwo-list-grid-twocol {
    grid-template-columns: 1fr;
    grid-row-gap: 10px; }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-top: 0; }

  .slltwo-title-small {
    margin-top: 1.5rem; }

  .wp-block-columns {
    gap: 1em !important; } }

@media (max-width: 576px) {
  .slltwo-container {
    max-width: 540px;
    padding: 0 1.2rem; } }
/* ======================================================
   12. Additions for the WordPress/Gutenberg conversion
   (not present in the original Thesis skin CSS)
====================================================== */

/* Keep the sticky header below wp-admin's admin bar when logged in */
.admin-bar #site-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar #site-header { top: 46px; }
}


/* Generic content wrapper so Gutenberg-authored page/post content
   inherits the skin's container width & spacing */
.slltwo-entry-content {
  max-width: 100%;
}
.slltwo-entry-content > * {
  margin-left: auto;
  margin-right: auto;
}
.slltwo-entry-content .alignfull,
.slltwo-entry-content .alignwide {
  margin-left: auto;
  margin-right: auto;
}

/* "Leave us a review" CTA on the Testimonials archive, set under
   Appearance > Customize > Testimonials Page */
.slltwo-review-cta {
  margin-top: 20px;
  margin-bottom: 30px;
}

/* Belt-and-suspenders for the .fade-in scroll-reveal (see
   js/scroll-reveal.js): the script already skips animating anyone with
   the OS "reduce motion" preference on, but this CSS-only guarantee means
   nobody ever sees the hidden opacity:0 state at all, even for a single
   frame before JS runs. */
@media (prefers-reduced-motion: reduce) {
  .fade-in {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Never hide .fade-in content while editing. WordPress loads this whole
   stylesheet inside the block editor's iframe (that's what add_editor_style()
   does, and it's exactly why .fade-in was hiding blocks in the editor in
   the first place) and wraps that iframe's content in a
   ".editor-styles-wrapper" element. Targeting that wrapper here -- in the
   SAME stylesheet that's causing the problem, rather than a second
   editor-only stylesheet that may or may not make it into the iframe --
   is what actually guarantees this wins. js/scroll-reveal.js only ever
   runs on the live front end, never in wp-admin, so this rule is the only
   thing making "fade-in" content visible while editing. */
.editor-styles-wrapper .fade-in {
  opacity: 1 !important;
  transform: none !important;
}

/* Footer social icons (Facebook / Instagram / Google Business), set under
   Appearance > Customize > Social Media. Sits next to the copyright line
   in the bottom attribution bar; wraps to its own centered row on narrow
   screens instead of needing a separate mobile breakpoint. */
.attribution-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 24px;
}
.attribution-row .attribution {
  padding: 0;
}
.slltwo-social-icons {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.slltwo-social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  font-size: 14px;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.slltwo-social-icons a:hover {
  background-color: #e89797;
  border-color: #e89797;
  color: #fff;
}

/* Alignment utilities used by the CTA Button block (.slltwo-text-center
   already existed in the original skin CSS above; left/right are new) */
.slltwo-text-left { text-align: left; }
.slltwo-text-right { text-align: right; }

/* Breathing room around a Swiper Slider block so it doesn't collide with
   whatever's placed right before/after it in the editor */
.slltwo-swiper-block {
  margin-bottom: 30px;
}
.slltwo-swiper-block .swiper-slide {
  height: auto;
}

/* Testimonial meta (City/Place, Date & Name) added on top of the
   original swiper markup so the new ACF fields have somewhere to live */
.myTesti .testimonial-meta {
  margin-top: 12px;
}
.myTesti .testimonial-date-name {
  display: block;
  font-style: normal;
  font-weight: 600;
  color: #111;
  letter-spacing: 0.02em;
}
.myTesti .testimonial-cityplace {
  display: block;
  font-style: normal;
  font-size: 14px;
  color: #bd6868;
  margin-top: 2px;
}

/* Comments (not styled in the original skin, kept minimal & on-brand) */
.comment-list { list-style: none; margin: 0 0 30px; padding: 0; }
.comment-list .comment-body { border-bottom: 1px solid #ddd; padding: 20px 0; }
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
  width: 100%;
  max-width: 500px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-family: inherit;
  margin-bottom: 12px;
}
.comment-respond .form-submit input {
  font: inherit;
}

.collapsable-content ul.menu li.menu-item-has-children:not(.mega-services) {
  position: relative;
}

  
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .menu-item-has-children:not(.mega-services):hover > .sub-menu {
    display: block;
  }

  /* Rotate the chevron to match, same as it already does via the .open
     class for clicks/taps -- plain items don't get .open on desktop
     (hover opens them with no JS involved), so this covers that case. */
  .menu-item-has-children:not(.mega-services):hover > a i,
  .menu-item-has-children:not(.mega-services):focus-within > a i {
    transform: rotate(180deg);
  }
}

@media (min-width: 769px) {
  .menu li .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    margin: 0;
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    padding: 0.5rem 0;
    list-style: none;
  }
  .menu-item-has-children.open > .sub-menu {
    display: block;
  }
  .menu-item-has-children:not(.mega-services):focus-within > .sub-menu {
    display: block;
  }
  .menu li .sub-menu li {
    padding: 0;
  }
  .menu li .sub-menu li a {
    display: block;
    padding: 8px 16px;
    font-size: 1rem;
    letter-spacing: normal;
  }
  .menu li .sub-menu .sub-sub-menu {
    position: static;
    box-shadow: none;
    border: none;
    padding-left: 16px;
  }
}

/* ---------- poster shell ---------- */
.slltwo-bc-poster{
  position:relative;
  width:1080px;
  max-width:100%;
  overflow:hidden;
  display:flex;
  justify-content:center;
}

.slltwo-bc-poster__photo{
  position:absolute;
  inset:0;
  background-image:var(--bg-image),
    repeating-linear-gradient(135deg,#c7c2ba 0 8px,#bcb6ad 8px 16px);
  background-size:cover;
  background-position:center;
}

/* ---------- cream card ---------- */
.slltwo-bc-card{
  position:relative;
  width:82%;
  min-height:100%;
  background:#efe6d9;
  padding:5.5% 7% 5%;
  display:flex;
  flex-direction:column;
}

/* ---------- head ---------- */
.slltwo-bc-card__head{text-align:center;}

.slltwo-bc-eyebrow{
  margin:0;
  font-size:1.05rem; /* 16.8px */
  font-weight:400;
  letter-spacing:.42em;
  text-transform:uppercase;
}

.slltwo-bc-title{
  margin:.5em 0 0;
  font-weight:400;
  font-size:3.8rem; /* 92.8px */
  line-height:.98;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.slltwo-bc-price{
  display:flex;
  align-items:center;
  gap:5%;
  margin:1.1em 0 0;
}

.slltwo-bc-price::before,
.slltwo-bc-price::after{
  content:"";
  flex:1;
  height:1px;
  background:#2b2b2b;
}

.slltwo-bc-price span{
  font-size:1.42rem; /* 22.7px */
  letter-spacing:.3em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ---------- includes ---------- */
.slltwo-bc-includes{
  margin:9% 0 0;
  text-align:center;
  font-size:1.38rem; /* 22.1px */
  font-weight:400;
  letter-spacing:.32em;
  text-transform:uppercase;
}

/* ---------- benefits ---------- */
.slltwo-bc-benefits{
  flex:0 0 auto;
  list-style:none;
  margin:6% 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0.4rem;
}

.slltwo-bc-benefit{
  display:flex;
  align-items:center;
  gap:2rem;
}

.slltwo-bc-benefit__icon{
  flex:0 0 auto;
  width:5rem;
  height:5rem; /* 80px */
  border:1px solid #2b2b2b;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.slltwo-bc-benefit__icon svg{
  width:64%;
  height:64%;
  fill:none;
  stroke:#2b2b2b;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.slltwo-bc-benefit__text{
  margin:0;
  font-size:1.25rem; /* 20px */
  font-weight:400;
  line-height:1.75;
  letter-spacing:.2em;
  text-transform:uppercase;
  text-wrap:pretty;
}

/* ---------- foot ---------- */
.slltwo-bc-card__foot{
  flex:0 0 auto;
  padding-top:1%;
  padding-bottom:1%;
  text-align:center;
}

.slltwo-bc-rule{
  display:block;
  width:26%;
  height:1px;
  margin:0 auto 7%;
  background:#9a958d;
}

.slltwo-bc-closing{
  margin:0;
  font-style:italic;
  font-size:2.1rem; /* 33.6px */
  line-height:1.45;
}

.slltwo-bc-card .gform_wrapper{
    background-color: #e6dbce;
    padding: 40px;
}

/* ---------- small screens ---------- */
@media (max-width:980px){
  .slltwo-bc-poster{aspect-ratio:auto;height:auto;min-height:100vh;}
  .slltwo-bc-card{width:90%;padding:8% 6%;}
  .slltwo-bc-eyebrow{font-size:.7rem;}
  .slltwo-bc-title{font-size:2.7rem;}
  .slltwo-bc-price span{font-size:.95rem;}
  .slltwo-bc-includes{font-size:.9rem;}
  .slltwo-bc-benefit__text{font-size:.8rem;}
  .slltwo-bc-benefit__icon{width:2.75rem;height:2.75rem;}
  .slltwo-bc-benefits{gap:1.3rem;}
  .slltwo-bc-benefit{gap:1rem;}
  .slltwo-bc-closing{font-size:1.4rem;}
}

/* ===== 404 page ===== */
.slltwo-404 {
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 0 70px; }

/* Big decorative numerals: soft cream fill with a peach outline. */
.slltwo-404-code {
  margin: 0 0 -0.18em;
  font-family: var(--wp--preset--font-family--heading, "Cormorant Garamond", serif);
  font-size: clamp(110px, 24vw, 250px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #efe7d9;
  -webkit-text-stroke: 2px #e89797;
  user-select: none; }

.slltwo-404 .page-header {
  position: relative; }

.slltwo-404-eyebrow {
  margin: 0 0 10px;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #bd6868; }

.slltwo-404 .page-title {
  margin: 0 0 16px; }

.slltwo-404-text {
  max-width: 540px;
  margin: 0 auto 30px;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #555; }

/* Search pill */
.slltwo-404-search {
  position: relative;
  max-width: 520px;
  margin: 0 auto 28px; }

.slltwo-404-search-field {
  display: block;
  width: 100%;
  height: 56px;
  box-sizing: border-box;
  padding: 0 64px 0 24px;
  border: 1px solid #d9cdb8;
  border-radius: 999px;
  background: #fff;
  font-size: 1rem;
  color: #111;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  -webkit-appearance: none;
  appearance: none; }

.slltwo-404-search-field:focus {
  outline: none;
  border-color: #bd6868;
  box-shadow: 0 0 0 4px rgba(189, 104, 104, 0.15); }

.slltwo-404-search-submit {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: #bd6868;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.25s ease; }

.slltwo-404-search-submit:hover,
.slltwo-404-search-submit:focus {
  background: #111; }

/* Buttons */
.slltwo-404-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-bottom: 44px; }

/* Quick links */
.slltwo-404-links-title {
  margin: 0 0 14px;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #888; }

.slltwo-404-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none; }

.slltwo-404-links li {
  margin: 0;
  padding: 0;
  list-style: none; }

.slltwo-404-links a {
  display: block;
  padding: 8px 20px;
  border: 1px solid #d9cdb8;
  border-radius: 999px;
  color: #111;
  text-decoration: none;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
  -webkit-tap-highlight-color: transparent; }

.slltwo-404-links a:hover,
.slltwo-404-links a:focus {
  background-color: #efe7d9;
  border-color: #bd6868;
  color: #111; }

@media (max-width: 768px) {
  .slltwo-404 {
    padding: 20px 0 50px; }

  .slltwo-404-text {
    font-size: 1rem; }

  .slltwo-404-actions {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 34px; } }

    /* ===== Search results page ===== */
.slltwo-search-head {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center; }

.slltwo-search-eyebrow {
  margin: 0 0 10px;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #bd6868; }

.slltwo-search-head .page-title {
  margin: 0 0 10px; }

.slltwo-search-term {
  color: #bd6868; }

.slltwo-search-count {
  margin: 0 0 26px;
  color: #888; }

/* Search pill */
.slltwo-search-form {
  position: relative;
  max-width: 520px;
  margin: 0 auto; }

.slltwo-search-field {
  display: block;
  width: 100%;
  height: 56px;
  box-sizing: border-box;
  padding: 0 64px 0 24px;
  border: 1px solid #d9cdb8;
  border-radius: 999px;
  background: #fff;
  font-size: 1rem;
  color: #111;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  -webkit-appearance: none;
  appearance: none; }

.slltwo-search-field:focus {
  outline: none;
  border-color: #bd6868;
  box-shadow: 0 0 0 4px rgba(189, 104, 104, 0.15); }

.slltwo-search-submit {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: #bd6868;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.25s ease; }

.slltwo-search-submit:hover,
.slltwo-search-submit:focus {
  background: #111; }

/* Results grid */
.slltwo-search-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr));
  gap: 28px; }

.slltwo-search-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid #ece3d3;
  border-radius: 16px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease; }

.slltwo-search-card:hover,
.slltwo-search-card:focus-within {
  border-color: #e89797;
  box-shadow: 0 12px 30px rgba(17, 17, 17, 0.08); }

.slltwo-search-thumb {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #efe7d9; }

.slltwo-search-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.slltwo-search-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 26px 28px 28px; }

.slltwo-search-type {
  display: inline-block;
  margin-bottom: 14px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #f7f1e6;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #bd6868; }

.slltwo-search-title {
  margin: 0 0 12px;
  font-family: var(--wp--preset--font-family--heading, "Cormorant Garamond", serif);
  font-size: 1.8rem;
  line-height: 1.15; }

.slltwo-search-link {
  color: #111;
  text-decoration: none; }

/* Makes the whole card clickable through the title link. */
.slltwo-search-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1; }

.slltwo-search-card:hover .slltwo-search-link,
.slltwo-search-link:focus {
  color: #bd6868; }

.slltwo-search-excerpt {
  margin: 0 0 20px;
  line-height: 1.7;
  color: #555; }

.slltwo-search-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  color: #bd6868;
  transition: gap 0.25s ease, color 0.25s ease; }

.slltwo-search-card:hover .slltwo-search-more {
  gap: 12px;
  color: #111; }

/* Pagination */
.slltwo-search-grid + .navigation.pagination {
  margin-top: 48px; }

.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px; }

.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  box-sizing: border-box;
  border: 1px solid #d9cdb8;
  border-radius: 999px;
  color: #111;
  text-decoration: none;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease; }

.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus {
  background: #efe7d9;
  border-color: #bd6868; }

.navigation.pagination .page-numbers.current {
  background: #111;
  border-color: #111;
  color: #fff; }

@media (max-width: 768px) {
  .slltwo-search-head {
    margin-bottom: 32px; }

  .slltwo-search-body {
    padding: 22px 22px 24px; }

  .slltwo-search-title {
    font-size: 1.6rem; } }

    /* ===== Loyalty Rewards (extends the .slltwo-bc-* poster/card styles) ===== */
.slltwo-rw-sub {
  max-width: 440px;
  margin: 16px auto 0;
  font-size: 0.9rem;
  letter-spacing: 0.2em;
  line-height: 1.9;
  text-align: center;
  text-transform: uppercase; }

.slltwo-rw-tiers {
  display: grid;
  gap: 22px;
  max-width: 440px;
  margin: 38px auto; }

.slltwo-rw-tier {
  display: grid;
  grid-template-columns: 130px 36px 1fr;
  align-items: center; }

.slltwo-rw-tier > *,
.slltwo-rw-badge > *,
.slltwo-rw-value > * {
  margin: 0; }

.slltwo-rw-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 130px;
  box-sizing: border-box;
  border: 1px solid currentColor;
  border-radius: 50%; }

.slltwo-rw-num,
.slltwo-rw-amount {
  font-family: var(--wp--preset--font-family--heading, "Cormorant Garamond", serif);
  font-weight: 500;
  line-height: 1.1; }

.slltwo-rw-num {
  font-size: 2rem;
  text-align: center; }

.slltwo-rw-amount {
  font-size: 2.5rem;
  text-align: left; }

.slltwo-rw-label {
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase; }

.slltwo-rw-badge .slltwo-rw-label {
  text-align: center; }

.slltwo-rw-value .slltwo-rw-label {
  text-align: left; }

.slltwo-rw-eq {
  font-size: 1.5rem;
  text-align: center; }

@media (max-width: 768px) {
  .slltwo-rw-tier {
    grid-template-columns: 110px 28px 1fr; }

  .slltwo-rw-badge {
    width: 110px;
    height: 110px; }

  .slltwo-rw-num {
    font-size: 1.7rem; }

  .slltwo-rw-amount {
    font-size: 2.1rem; } }