/**
 * Theme Name: FunToTalk Child Theme
 * Template:   astra
 * ...other header fields
 Version: 1.0.1
 */
main, .content, .site-main, .page, .entry-content {
    margin: 20px auto;
    padding: 0 20px;
}
/* Optional: Responsive adjustments */
@media (max-width: 768px) {
    main, .content, .site-main, .page, .entry-content {
        margin: 10px auto;
        padding: 0 10px;
    }
}

.timezone-detected-message {
    margin-top: 8px;
    font-size: 14px;
    color: #555;
    font-style: italic;
}

/* Loading screen overlay styles */
#custom-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9); /* Semi-transparent white background */
    z-index: 9999; /* Ensure it's above all content */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: 18px;
    color: #333;
}

/* Loading spinner animation */
#custom-loading-spinner {
    border: 6px solid #f3f3f3; /* Light grey border */
    border-top: 6px solid #0073aa; /* WordPress blue */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
}

/* Keyframe animation for spinner */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.no-js .variation-message {
    display: block; /* Show the message if JavaScript is disabled */
}
.js .variation-message {
    display: none; /* Hide the message if JavaScript is enabled */
}
.quantity-option {
    border: 1px solid #ddd;
    padding: 10px;
    margin: 5px;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    transition: background-color 0.3s ease, border-color 0.3s ease;
	width: 100%; 
}
.quantity-option:hover {
    background-color: #f5f5f5;
}
.quantity-option.selected {
    background-color: #d9f9d9;
    border-color: #00a000;
}
.discount-label {
    font-size: 14px;
    color: #555;
}
.price-per-unit {
    font-size: 14px;
    color: #333;
    font-weight: bold;
}
.surcharge-notice {
    margin-top: 20px;
    padding: 10px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.surcharge-notice p {
    margin: 5px 0;
}

select.jet-form__field.select-field {
    font-size: 16px; /* Set a readable font size */
    line-height: 1.5; /* Ensure proper line height for vertical alignment */
    color: #333333; /* Dark text for readability */
    background-color: #ffffff; /* White background for contrast */
    border: 1px solid #cccccc; /* Subtle border for clarity */
	border-color: #000000;
    padding: 10px 12px; /* Add padding for spacing */
    border-radius: 5px; /* Rounded corners for a modern look */
    appearance: none; /* Remove default browser styles */
    -webkit-appearance: none; /* Remove default styles in Safari */
    -moz-appearance: none; /* Remove default styles in Firefox */
    outline: none; /* Remove outline on focus */
    box-sizing: border-box; /* Ensure padding is included in width/height */
    height: auto; /* Automatically adjust height to content */
    width: 100%; /* Make it responsive */
}

select.jet-form__field.select-field:focus {
    border-color: #007bff; /* Blue border on focus */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Highlight shadow */
}

select.jet-form__field.select-field option {
    padding: 5px; /* Add padding to dropdown options */
    font-size: 16px; /* Match font size of the select field */
    line-height: 1.5; /* Match line height of the select field */
    color: #333333; /* Ensure readable text */
    background-color: #ffffff; /* White background for options */
}
select.jet-form-builder__field.select-field{
	font-size: 16px; /* Set a readable font size */
    line-height: 1.5; /* Ensure proper line height for vertical alignment */
    color: #333333; /* Dark text for readability */
    background-color: #ffffff; /* White background for contrast */
    border: 1px solid #cccccc; /* Subtle border for clarity */
	border-color: #000000;
    padding: 10px 12px; /* Add padding for spacing */
    border-radius: 5px; /* Rounded corners for a modern look */
    appearance: none; /* Remove default browser styles */
    -webkit-appearance: none; /* Remove default styles in Safari */
    -moz-appearance: none; /* Remove default styles in Firefox */
    outline: none; /* Remove outline on focus */
    box-sizing: border-box; /* Ensure padding is included in width/height */
    height: auto; /* Automatically adjust height to content */
    width: 100%; /* Make it responsive */
}
select.jet-form-builder__field.select-field:focus {
    border-color: #007bff; /* Blue border on focus */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Highlight shadow */
}
select.jet-form-builder__field.select-field option {
    padding: 5px; /* Add padding to dropdown options */
    font-size: 16px; /* Match font size of the select field */
    line-height: 1.5; /* Match line height of the select field */
    color: #333333; /* Ensure readable text */
    background-color: #ffffff; /* White background for options */
}
.jet-fb-form-block{
    display: flex; /* Enable flexbox */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    min-height: 100vh; /* Ensure it takes full viewport height */
    margin: 0; /* Remove default body margins */
    padding: 10px; /* Add padding for better spacing on smaller screens */
}

/* Adjustments for small screens */
@media (max-width: 768px){
    .jet-fb-form-block {
        flex-direction: column; /* Stack elements vertically */
        padding: 20px; /* Add more padding for smaller screens */
		margin: 10px; /* Outer spacing around the block */
        min-height: auto; /* Allow content to dictate height */
        height: auto; /* Ensure no fixed height */
	}
}
.jet-form-builder-row.field-type-appointment-date {
   justify-content: center; /* Center horizontally */
   min-height: 100vh; /* Ensure it takes full viewport height */
}
.jet-form-builder__action-button{
	justify-content: center; /* Center horizontally */
}
.jet-apb-calendar-content{
    max-width: 90%; /* Optional: Restrict width for responsiveness */
    padding: 20px; /* Optional: Add padding for better spacing */
    background-color: #ffffff; /* Optional: Add a background color */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optional: Add a shadow for aesthetics */
    border-radius: 8px; /* Optional: Add rounded corners */
}
.jet-apb-slot {
    border: 2px solid lightseagreen; /* Blue border */
    /*color: darkblue;  /*Blue text */
	/*background-color: #ffffff;*/
    padding: 10px; /* Add some padding */
    border-radius: 5px; /* Rounded corners */
    /*font-weight: bold; /* Make text bold */
    text-align: center; /* Center align the text */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Add hover effects */
}

.jet-apb-slot:hover {
    transform: scale(1.05); /* Slightly increase size on hover */
    box-shadow: 0 4px 8px rgba(0, 0, 255, 0.2); /* Add a subtle blue shadow */
    cursor: pointer; /* Change cursor to pointer */
}
.jet-apb-slot.selected {
    border-color: darkblue; /* Change border color when selected */
    background-color: #007bff; /* Add a background color */
    color: white; /* Change text color */
    transform: scale(1.1); /* Slightly enlarge the element */
    box-shadow: 0 4px 12px rgba(0, 0, 255, 0.3); /* Add a shadow effect */
}

.jet-apb-calendar-date.jet-apb-calendar-date--disabled {
    /*background-color: #f5f5f5; /* Light gray background to indicate unavailability */
    color: #b0b0b0; /* Subtle gray text */
    /*border: 1px solid #e0e0e0; /* Light border for clarity */
    pointer-events: none; /* Prevent interaction */
    /*opacity: 0.7; /* Slight transparency for visual effect */
    text-align: center; /* Center the content */
    /*font-style: italic; /* Optional: Make text italic for emphasis */
    border-radius: 5px; /* Rounded corners for aesthetics */
    padding: 8px; /* Ensure consistent padding */
    transition: opacity 0.3s ease; /* Smooth hover effect */
}

.jet-apb-calendar-date.jet-apb-calendar-date--disabled:hover {
    opacity: 0.6; /* Slight fade on hover for a polished effect */
    cursor: not-allowed; /* Show 'not allowed' cursor */
}

.jet-apb-calendar-date {
    display: flex; /* Center align content */
    justify-content: center;
    align-items: center;
    width: 100%; /* Ensure the date takes full cell width */
    height: 100%; /* Ensure the date takes full cell height */
    /*background-color: #ffffff; /* White background for a clean look */
    border: 1px solid #dddddd; /* Subtle border for separation */
    border-radius: 8px; /* Rounded corners for a modern look */
    color: #333333; /* Dark text for readability */
    font-size: 14px; /* Legible font size */
    font-weight: 600; /* Slightly bold for emphasis */
    transition: all 0.3s ease; /* Smooth hover effect */
    padding: 5px; /* Add spacing inside */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

.jet-apb-calendar-date:hover {
    background-color: #f0f8ff; /* Light blue background on hover */
    border-color: #007bff; /* Highlight border with blue */
    color: #007bff; /* Blue text to match the border */
    box-shadow: 0 4px 6px rgba(0, 123, 255, 0.2); /* Enhanced shadow for focus */
    cursor: pointer; /* Change cursor to indicate interactivity */
}

.jet-apb-calendar-date:active {
    background-color: #e7f1ff; /* Slightly darker blue on active state */
    border-color: #0056b3; /* Darker blue border */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); /* Subtle shadow change */
}

.jet-apb-calendar-date.selected,
.jet-apb-calendar-date.jet-apb-calendar-date--selected{
    background-color: #007bff; /* Blue background to indicate selection */
    color: #ffffff; /* White text for contrast */
    border-color: #0056b3; /* Darker blue border */
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.4); /* Highlighted shadow */
    font-weight: bold; /* Emphasize the selected date */
    transform: scale(1.05); /* Slightly enlarge the selected date */
    transition: all 0.3s ease; /* Smooth transition for better UX */
}

.jet-apb-calendar-date.selected:hover {
    background-color: #0056b3; /* Slightly darker blue on hover */
    box-shadow: 0 6px 12px rgba(0, 86, 179, 0.4); /* Enhance shadow on hover */
    cursor: pointer; /* Retain pointer cursor */
}


/* Optional: Add a badge or special indicator for certain dates */
.jet-apb-calendar-date.special-date {
    position: relative;
    background-color: #fffbe6; /* Light yellow background for special dates */
    border-color: #ffcc00; /* Yellow border */
}

.jet-apb-calendar-date.special-date::before {
    content: "★"; /* Star icon for special dates */
    position: absolute;
    top: 5px;
    right: 5px;
    color: #ffcc00; /* Match the star color to the border */
    font-size: 12px;
}

.jet-apb-appointments-item {
    background-color: seashell;/*#ffffff; /* White background for a clean look */
	/*color: white;*/
    border: 1px solid #dddddd; /* Light gray border for separation */
    border-radius: 8px; /* Rounded corners for modern appearance */
    padding: 16px; /* Add spacing inside the element */
    margin-bottom: 16px; /* Add spacing between items */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth hover effect */
}

/* Hover effect */
.jet-apb-appointments-item:hover {
    transform: translateY(-4px); /* Slight lift effect on hover */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); /* Enhanced shadow on hover */
}

/* Content block */
.jet-apb-appointments-item-content {
    display: flex;
    flex-direction: column; /* Stack items vertically */
    gap: 10px; /* Space between elements */
}

.jet-apb-item-service-provider::before {
    /*content: '👤'; /* Unicode character for user icon */
    /*font-family: 'Font Awesome 5 Free'; /* Ensure Font Awesome is used */
    /*font-weight: 900; /* Use the solid icon weight */
	font-weight: normal;
    color: #007bff; /* Blue icon color */
    margin-right: 8px; /* Space between icon and text */
}

.local-date::before {
    content: '📅'; /* Unicode character for calendar icon */
    /*font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #ff9800; /* Orange icon color */
    margin-right: 8px;
}
.jet-apb-item-time{
	content: '📅';
	margin-right: 8px;
}
.jet-apb-item-date{
	content: '⏰';
	margin-right: 8px;
}
.local-time::before {
    content: '⏰'; /* Unicode character for clock icon */
    /*font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #4caf50; /* Green icon color */
    margin-right: 8px;
}
.field-error {
    border: 2px solid red; /* Highlight fields with errors */
    background-color: #ffe6e6;
}

.variation {
    display: flex;
    flex-direction: column;
    /*gap: 15px; /* Space between each pair */
	margin-left: 10px;
}

.variation dt {
    font-weight: bold;
    margin: 0;	
	font-size: 12px;
}

.variation dd {
    margin: 0;
	margin-left: 10px;
	font-size: 12px;
}

/* Target the <a> tag */
.bpbm-pm-button {
    text-decoration: none !important;
	border-radius: 5px;
}

/* Alternatively, target the <span> inside the <a> tag */
.bpbm-pm-button .bm-button-text {
    text-decoration: none !important;
}

.dynamic-button {
    display: inline-block;
    padding: 10px 15px;
    margin: 5px;
    background-color: #0073aa;
    color: white;
    text-align: center;
    border-radius: 5px;
    text-decoration: none !important;
}

.dynamic-button:hover {
    background-color: #005f87;
}

.calendar-grid {
  display: flex;
  gap: 10px;
}
.day-column {
  flex: 1;
  border: 1px solid #ccc;
  padding: 10px;
}
.day-label {
  font-weight: bold;
  margin-bottom: 8px;
}
.slot {
  padding: 5px;
  margin: 3px 0;
  background: #f0f0f0;
  cursor: pointer;
  border-radius: 4px;
}
.calendar-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
.uwp-login {
    border: 1px solid #ddd;
    padding: 1rem;
}

.uwp-social-login img {
    max-width: 100%;
    margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
    .uwp-social-login,
    .uwp-traditional-login {
        width: 50%;
    }
}
.uwp-register {
    border: 1px solid #ddd;
    padding: 1rem;
}
.uwp-social-register img {
    max-width: 100%;
    margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
    .uwp-social-register,
    .uwp-traditional-register {
        width: 50%;
    }
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .col2-set { 
  display: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout .col-2,
.woocommerce-checkout #order_review { 
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
}


/* Keep the bell positioned correctly in menus */
.menu-item-ftt-bell,
.ftt-bell-trigger { position: relative; }

/* Force the badge to be a tiny pill/circle instead of inheriting nav line-height */
.ftt-bell-trigger .ftt-badge{
  position: absolute !important;
  top: -6px;               /* tweak as you like */
  right: -8px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 18px;            /* explicit size stops the stretch */
  min-width: 18px;
  padding: 0 5px;          /* 0 for perfect circle, a bit for pill */
  line-height: 18px;       /* match height */
  font-size: 11px;
  font-weight: 600;
  background: #e11;        /* your red */
  color: #fff;
  border-radius: 999px;
  box-sizing: border-box;
  box-shadow: 0 0 0 2px #fff;  /* halo so it doesn’t blend into the header */
  z-index: 3;
}

/* Some themes set huge line-height on links; make sure our bell span isn’t affected */
.menu a .ftt-bell-trigger,
.menu .ftt-bell-trigger { line-height: 1 !important; }

/* Card + inner footer lives INSIDE the dropdown now */
.ftt-card{
  width:360px;
  max-height:60vh;
  background:#fff;
  border:1px solid #ddd;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.ftt-list{ flex:1; overflow:auto; }

/* Footer strip that always looks enabled */
.ftt-actions{
  padding:8px;
  border-top:1px solid #eee;
  background:#fff;
}

/* Button style independent of theme menu CSS */
.ftt-btn{
  appearance:none; -webkit-appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  height:32px; padding:0 12px;
  font-size:13px; font-weight:600; line-height:1;
  color:#222; background:#f5f5f7;
  border:1px solid #ddd; border-radius:8px;
  cursor:pointer; opacity:1 !important; pointer-events:auto !important;
}
.ftt-btn:hover{ background:#efefef; }

#ftt-dropdown-portal { z-index: 99999; }
.ftt-card{
  width: 360px;
  max-width: calc(100vw - 16px); /* 8px gutter on each side */
}

.mfmt-weekly{font:16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial}
.mfmt-week__header{display:flex;align-items:center;gap:.75rem;margin:0 0 .25rem}
.mfmt-title{font-weight:600}
.mfmt-tz-note{font-size:.875rem;color:#6b7280;margin:2px 0 12px}
.mfmt-nav{border:0;background:#e5e7eb;border-radius:6px;padding:.35rem .5rem;cursor:pointer}
.mfmt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.mfmt-col{background:#fff}
.mfmt-col__head{border-top:4px solid #14b8a6;padding:.35rem 0 .45rem;
  font-weight:600;display:flex;flex-direction:column;gap:2px}
.mfmt-col__head small{font-weight:400;color:#6b7280}
.mfmt-col__list{display:flex;flex-direction:column;gap:8px}
.mfmt-slot{border:0;background:transparent;color:#059669;text-align:left;padding:0;
  cursor:pointer;font-weight:600}
.mfmt-slot:hover{text-decoration:underline}
.mfmt-slot.is-disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}
.mfmt-slot.is-selected{opacity:.6}
.mfmt-slot.is-success{color:#16a34a}
.mfmt-repeat{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 1rem}
.mfmt-repeat__label{color:#374151}
.mfmt-repeat__sel,.mfmt-repeat__count{border:1px solid #d1d5db;border-radius:6px;padding:.3rem .5rem}


/* ===== Config ===== */
:root{
  --ftt-edge: 12px;        /* distance from top/right edges */
  --ftt-icon-size: 40px;   /* avatar size (and layout reference) */
  --ftt-gap: 12px;         /* gap between bell and avatar */
}

/* ===== Rightmost avatar trigger ===== */
.ftt-avatar-trigger{
  position: fixed; top: var(--ftt-edge); right: var(--ftt-edge);
  width: var(--ftt-icon-size); height: var(--ftt-icon-size);
  border-radius: 9999px; border: 0; padding: 0; background: transparent; cursor: pointer;
  z-index: 10010; box-shadow: 0 0 0 2px rgba(0,0,0,.05);
}
.ftt-avatar-trigger img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block }
.ftt-avatar-trigger:hover,
.ftt-avatar-trigger:focus{ background: transparent; }

/* ===== Auto-position existing bell to the LEFT of avatar =====
   JS adds .ftt-bell-auto to your current bell element. */
.ftt-bell-auto{
  position: fixed !important;
  top: var(--ftt-edge) !important;
  right: calc(var(--ftt-edge) + var(--ftt-icon-size) + var(--ftt-gap)) !important;
  z-index: 10010 !important;
  /* keep your own sizes/styles; we don't touch them */
}

/* Small screens: slightly smaller reference size */
@media (max-width: 480px){
  :root{ --ftt-icon-size: 36px; --ftt-gap: 8px; }
}

/* ===== Off-canvas container ===== */
.ftt-offcanvas{ position:fixed; inset:0; pointer-events:none; z-index:10000 }
.ftt-offcanvas.is-open{ pointer-events:auto }

/* Backdrop as DIV (prevents theme button-hover painting) */
.ftt-offcanvas__backdrop{
  position:absolute; inset:0; z-index:0;
  background:rgba(0,0,0,.35);
  opacity:0; transition:opacity .25s ease;
  outline:none !important; box-shadow:none !important; border:0 !important;
}
.ftt-offcanvas.is-open .ftt-offcanvas__backdrop{ opacity:1 }
.ftt-offcanvas__backdrop:hover{ background: rgba(0,0,0,.35) !important; }

/* Panel */
.ftt-offcanvas__panel{
  position:absolute; z-index:1; right:0; top:0; height:100%;
  width:min(90vw,360px); background:#fff;
  transform:translateX(100%); transition:transform .25s ease;
  box-shadow:-12px 0 24px rgba(0,0,0,.12); display:flex; flex-direction:column; outline:none;
}
.ftt-offcanvas.is-open .ftt-offcanvas__panel{ transform:translateX(0) }
/* Position your existing bell immediately left of the avatar trigger */
.ftt-bell-auto{
  position: fixed !important;
  top: 24px !important;                  
  right: calc(12px + 40px + 6px) !important; 
  z-index: 10010 !important;
  display: inline-grid !important;      
  place-items: center !important;
}

.ftt-offcanvas__header{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #eee }
.ftt-offcanvas__user{ display:flex; gap:12px; align-items:center }
.ftt-offcanvas__avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover }
.ftt-offcanvas__name{ font-weight:600 }
.ftt-offcanvas__email{ color:#666; font-size:.875rem }
.ftt-offcanvas__close{ border:0; background:transparent; font-size:28px; line-height:1; cursor:pointer; padding:0 4px }

.ftt-offcanvas__nav{ padding:8px 8px 16px; overflow:auto; flex:1 }
.ftt-menu{ list-style:none; margin:0; padding:0 }
.ftt-menu li{ margin:0 }
.ftt-menu a{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; text-decoration:none; color:#222 }
.ftt-menu a:hover{ background:#f6f7f9 }

.ftt-offcanvas__footer{ padding:10px 14px; border-top:1px solid #eee; color:#666; font-size:.85rem }


.header-menu ul > li > a.ftt-cart-pill,
a.ftt-cart-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  line-height: 48px;  
  height: auto;

  padding-top: 0;
  padding-bottom: 0;
  padding-left: 12px;
  padding-right: 12px;

  background: #fff;
  color: #000;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease;
}
a.ftt-cart-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  background: #89CFF0;
}

.ftt-cart-ico { display: inline-flex; }
.ftt-cart-ico svg { width: 18px; height: 18px; }
.ftt-cart-ico svg path { fill: currentColor; }

.ftt-cart-amount,
.ftt-cart-amount .amount,
.ftt-cart-amount .amount bdi {
  color: #000;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
}

a.ftt-cart-pill[data-cart-count="0"] .ftt-cart-amount { display: none; }
a.ftt-cart-pill[data-cart-count="0"] {
  padding-left: 10px;
  padding-right: 10px;
  gap: 0;
}

.header-menu ul > li > a {
  line-height: 48px; 

.menu-currency-switcher {
  display: inline-flex !important;
  align-items: center; 
  height: 48px;         
  line-height: 48px;    
  margin: 0;
  padding: 0;
}

.menu-currency-switcher .wcml_currency_switcher,
.menu-currency-switcher .woocommerce-currency-switcher,
.menu-currency-switcher form,
.menu-currency-switcher .widget_currency_switcher {
  display: inline-flex !important;
  align-items: center;
  margin: 0;
  padding: 0;
}

.menu-currency-switcher select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  line-height: 32px;
  height: 32px;         
  padding: 0 34px 0 12px;
  margin: 0;
	
  width: auto !important;
  max-width: none;
  min-width: 120px;

  border: 1px solid #d0d7de;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font: inherit;  
	
  background-image:
    linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position:
    right 14px center,
    right 8px  center;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.menu-currency-switcher label,
.menu-currency-switcher .currency-switcher-label {
  margin: 0 8px 0 0;
  line-height: 48px;
}

.menu-currency-switcher .wcml_currency_switcher,
.menu-currency-switcher .woocommerce-currency-switcher,
.menu-currency-switcher form {
  position: relative;
}

.menu-currency-switcher select::-ms-expand { display: none; } /* IE */
.menu-currency-switcher .currency-arrow,
.menu-currency-switcher:after {
  content: '';
}


.header-menu ul > li.has-currency-switcher {
  display: flex;
  align-items: center;
}

.header-menu ul > li.has-currency-switcher .menu-currency-switcher {
  margin-left: 8px;
}

.header-dark .menu-currency-switcher select {
  background: #0f172a;
  color: #fff;
  border-color: #334155;
}

	
.menu-toggle,
.mobile-menu-toggle,
.header-toggle,
.navbar-toggle {
  display: none !important;
}

.header-menu,
.header-menu ul {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;         
  -webkit-overflow-scrolling: touch; 
  scrollbar-width: none;     
}
.header-menu ul::-webkit-scrollbar { display: none; }

.header-menu ul li {
  width: auto !important;
  white-space: nowrap;
}

.header-menu ul li a {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 48px; /* matches your desktop row */
  height: auto;
  padding: 0 12px;
}

a.ftt-cart-pill {
  background: #ff6b6b;
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease;
}
a.ftt-cart-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  background: #ff5a5f;
}

/*.menu-currency-switcher {
  display: inline-flex !important;
  align-items: center !important;
  height: 48px;
}
.menu-currency-switcher select {
  height: 32px;
  line-height: 32px;
  padding: 0 34px 0 12px;
  border-radius: 8px;
  font: inherit;
}

/*.header-menu ul > li > a.ftt-cart-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  line-height: 48px;    
  height: auto;

  padding-top: 0;
  padding-bottom: 0;
  padding-left: 12px;
  padding-right: 12px;

  background: #ff6b6b;
  color: #fff;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease;
}

.header-menu ul > li > a.ftt-cart-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  background: #ff5a5f;
}

.ftt-cart-ico {
  display: inline-flex;
}
.ftt-cart-ico svg {
  width: 18px;
  height: 18px;
}
.ftt-cart-ico svg path {
  fill: currentColor;
}

.ftt-cart-amount,
.ftt-cart-amount .amount,
.ftt-cart-amount .amount bdi {
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
}

.header-menu ul > li > a.ftt-cart-pill.is-empty {
  padding-left: 10px;
  padding-right: 10px;
  gap: 0;
}

/*.header-menu ul > li > a {
  line-height: 48px;   
}

.header-menu ul > li > a.ftt-cart-pill {
  display: inline-flex;
  align-items: center;
	
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 12px;
  padding-right: 12px;
  line-height: inherit;     
  height: auto;             
  border-radius: 8px;     
}

.header-menu ul > li > a.ftt-cart-pill.is-empty {
  padding-left: 10px;
  padding-right: 10px;
}

.header-menu ul > li > a.ftt-cart-pill {
  background: #ff6b6b;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease;
}
.header-menu ul > li > a.ftt-cart-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  background: #ff5a5f;
}

.ftt-cart-ico { display: inline-flex; }
.ftt-cart-ico svg path { fill: currentColor; }
.ftt-cart-amount,
.ftt-cart-amount .amount,
.ftt-cart-amount .amount bdi {
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

a.ftt-cart-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ff6b6b;    
  color: #fff;
  border-radius: 10px;
  line-height: 1;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease;
}
a.ftt-cart-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  background: #ff5a5f;
}
.ftt-cart-amount,
.ftt-cart-amount .amount,
.ftt-cart-amount .amount bdi {
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

/*.ftt-cart-ico { display: inline-flex; }
.ftt-cart-ico svg path { fill: currentColor; }


.ftt-cart-amount,
.ftt-cart-amount .amount,
.ftt-cart-amount .amount bdi {
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

a.ftt-cart-pill.is-empty {
  padding: 6px 10px;
  gap: 0;
}


/*.ftt-cart-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ff6b6b;          
  color: #fff;                   
  padding: 6px 12px;
  border-radius: 10px;
  line-height: 1;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
  transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease;
}

.ftt-cart-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
  background: #ff5a5f;          
}

.ftt-cart-ico {
  display: inline-flex;
}

.ftt-cart-ico svg path {
  fill: currentColor;
}

.ftt-cart-amount {
  display: inline-block;
  white-space: nowrap;
  font-size: 15px;
}

.ftt-cart-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  margin-left: 4px;
  font-size: 11px;
  line-height: 1;
  background: rgba(255,255,255,.18);
  color: #fff;
  border-radius: 999px;
}




/*.site-header {
  width: 100%;
  transition: all 0.8s ease-in-out;
  animation-duration: 1s;
  animation-fill-mode: both;
  padding: 40px 50px;
}

.sticky-active {
  position: sticky;
  top: 0;
  background-color: #121517;
  z-index: 99;
  animation-name: slideInDown;
  padding-top: 20px;
  padding-bottom: 20px;
}

@keyframes slideInDown {
  0% {
    transform: translate3d(0,-100%,0);
    visibility: visible;
  }
  100% {
    transform: translate3d(0,0,0);
  }
}

.header-logo { transition: all 0.4s ease; }
.sticky-active .header-logo { width: 180px; }

.header-main .wrap {
  max-width: 100% !important;
  padding: 0;
}

.header-sec {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-logo a { display: inline-block; }

.header-menu-sec {
  display: flex;
  align-items: center;
  gap: 40px;
}

.header-menu ul li { margin: 0 20px !important; }

.header-menu ul li a {
  color: var(--white-color);
  font-size: 16px;
  text-transform: capitalize;
  transition: all 0.4s ease;
  font-weight: 400 !important;
  padding: 10px 0 !important;
  position: relative;
}

.header-menu ul li a:hover,
.header-menu ul li.current-menu-item a {
  color: var(--pastel-green);
}

.header-menu ul li.current-menu-item a::before,
.header-menu ul li a:hover::before {
  content: '';
  position: absolute;
  top: 110%;
  left: 50%;
  transform: translateX(-50%);
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background-color: var(--pastel-green);
  transition: all 0.4s ease;
}

.header-menu ul li a::before { opacity: 0; }

.header-menu ul li a:hover::before,
.header-menu ul li.current-menu-item a::before { opacity: 1; }

.header-social {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 0;
}

.header-social li {
  opacity: 1;
  transition: all 0.4s ease;
}

.header-social li a {
  position: relative;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
}

.header-social li a .social-hover-icon {
  position: absolute;
  left: 0;
  opacity: 0;
  transition: all 0.4s ease;
}

.header-social li a:hover .social-hover-icon { opacity: 1; }
.header-social li a .social-icon { opacity: 1; }
.header-social li a:hover .social-icon { opacity: 0; }

.header-social li img {
  height: 16px;
  transition: all 0.4s ease;
}

.header-cart { position: relative; }

.header-cart span {
  position: absolute;
  top: 0;
  right: -5px;
  background-color: var(--lemon-thyme);
  width: 15px;
  height: 16px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  transition: all 0.4s ease;
}

.header-cart a:hover span { background-color: var(--pastel-green); }

/*.ftt-avatar-trigger{
  position:fixed; top:12px; right:12px; width:40px; height:40px;
  border-radius:9999px; border:0; padding:0; background:transparent; cursor:pointer;
  z-index:10010; box-shadow:0 0 0 2px rgba(0,0,0,.05);
}

.ftt-offcanvas{position:fixed; inset:0; pointer-events:none; z-index:10000}
.ftt-offcanvas.is-open{pointer-events:auto}

.ftt-offcanvas__backdrop{
  position:absolute; inset:0; z-index:0;
  background:rgba(0,0,0,.35);
  opacity:0; transition:opacity .25s ease;
  
  outline:none !important; box-shadow:none !important; border:0 !important;
}
.ftt-offcanvas.is-open .ftt-offcanvas__backdrop{opacity:1}

.ftt-offcanvas__panel{
  position:absolute; z-index:1; right:0; top:0; height:100%;
  width:min(90vw,360px); background:#fff;
  transform:translateX(100%); transition:transform .25s ease;
  box-shadow:-12px 0 24px rgba(0,0,0,.12); display:flex; flex-direction:column; outline:none
}
.ftt-offcanvas.is-open .ftt-offcanvas__panel{transform:translateX(0)}
/*
/*
/*.variation {
    display: flex;
    flex-direction: column;
    gap: 10px; 
}

.variation dt,
.variation dd {
    display: inline-block;
    margin: 0;
	margin-left: 10px;
}

.variation dt {
    font-weight: bold;
    margin-right: 10px;
	font-size: 12px;
}

.variation dd {
    display: inline-block;
	font-size: 12px;
}

.variation dt::after {
    content: " "; 
}

/*.form-field-time-input {
    width: 25% !important; 
    display: inline-block !important; 
    margin-right: 10px !important; 
}*/

/* Ensure repeater fields wrap properly *//*
[data-field-name="regular_availability"] .jet-form-builder-repeater__row-fields {
    display: flex;
    flex-wrap: wrap; 
    gap: 10px; 
}
    
select {
    height: 40px; 
    line-height: 40px;
    /*padding: 0 12px; 
    text-align: center; 
    font-size: 16px;
    vertical-align: middle; 
    appearance: none; 
    border: 1px solid #ccc; 
    border-radius: 4px; 
}