/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1784620055
Updated: 2026-07-21 07:47:35

*/

/* =========================================================
   SIDRA WATER GLOBAL BRAND STYLES
   Theme: Hello Elementor Child Theme
   ========================================================= */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Oswald:wght@200..700&family=Sora:wght@100..800&family=Space+Grotesk:wght@300..700&display=swap');

/* =========================================================
   1. BRAND VARIABLES
   ========================================================= */

:root {
  /* Sidra Brand Colors */
  --sidra-green: #39b54a;
  --sidra-green-dark: #258b35;
  --sidra-green-light: #eff9f0;

  --sidra-blue: #006ca8;
  --sidra-blue-dark: #004c78;
  --sidra-blue-light: #eaf8fb;

  --sidra-aqua: #4ec5d4;
  --sidra-aqua-light: #dff7fa;

  /* Neutral Colors */
  --sidra-white: #ffffff;
  --sidra-gray-50: #f8fafb;
  --sidra-gray-100: #f5f7f8;
  --sidra-gray-200: #edf1f3;
  --sidra-gray-300: #dce4e8;
  --sidra-gray-500: #687780;
  --sidra-gray-700: #37454d;
  --sidra-text: #1e2a32;

  /* Status Colors */
  --sidra-success: #39b54a;
  --sidra-warning: #f4a623;
  --sidra-error: #d64545;
  --sidra-info: #006ca8;
  --sidra-reserved: #7656c9;

  /* Typography */
  --sidra-font-heading: "Montserrat", Arial, sans-serif;
  --sidra-font-body: "Montserrat", Arial, sans-serif;
  

  /* Layout */
  --sidra-container-width: 1280px;
  --sidra-content-width: 760px;

  /* Radius */
  --sidra-radius-sm: 8px;
  --sidra-radius-md: 14px;
  --sidra-radius-lg: 20px;
  --sidra-radius-xl: 28px;
  --sidra-radius-pill: 999px;

  /* Shadows */
  --sidra-shadow-sm: 0 4px 14px rgba(0, 76, 120, 0.07);
  --sidra-shadow-md: 0 10px 30px rgba(0, 76, 120, 0.1);
  --sidra-shadow-lg: 0 18px 50px rgba(0, 76, 120, 0.14);

  /* Transitions */
  --sidra-transition-fast: 180ms ease;
  --sidra-transition-normal: 300ms ease;
}

/* =========================================================
   2. GLOBAL RESET AND BODY
   ========================================================= */

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

html,
body {
  font-family: var(--sidra-font-body);
}

body,
button,
input,
select,
textarea {
  font-family: var(--sidra-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  font-family: var(--sidra-font-heading);
}

body {
  margin: 0;
  color: var(--sidra-text);
  background-color: var(--sidra-white);
  font-family: var(--sidra-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
button,
input,
select,
textarea {
  font-family: var(--sidra-font-body);
}

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

img {
  max-width: 100%;
  height: auto;
}

/* =========================================================
   3. TYPOGRAPHY
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  margin-top: 0;
  color: var(--sidra-blue-dark);
  font-family: var(--sidra-font-heading);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

h1 {
  font-size: clamp(2.25rem, 5vw, 4.5rem);
}

h2 {
  font-size: clamp(1.875rem, 4vw, 3.25rem);
}

h3 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
}

h4 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  color: var(--sidra-gray-700);
}

strong,
b {
  font-weight: 700;
}

small {
  font-size: 0.875rem;
}

/* Elementor text widgets */
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  color: var(--sidra-gray-700);
  font-family: var(--sidra-font-body);
}

/* =========================================================
   4. LINKS
   ========================================================= */

a {
  color: var(--sidra-blue);
  text-decoration: none;
  transition:
    color var(--sidra-transition-fast),
    opacity var(--sidra-transition-fast);
}

a:hover,
a:focus {
  color: var(--sidra-green-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(78, 197, 212, 0.4);
  outline-offset: 3px;
}

/* =========================================================
   5. BUTTONS
   ========================================================= */

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 24px;
  border: 1px solid var(--sidra-green);
  border-radius: var(--sidra-radius-pill);
  background-color: var(--sidra-green);
  color: var(--sidra-white);
  font-family: var(--sidra-font-body);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  box-shadow: none;
  transition:
    background-color var(--sidra-transition-fast),
    border-color var(--sidra-transition-fast),
    color var(--sidra-transition-fast),
    transform var(--sidra-transition-fast),
    box-shadow var(--sidra-transition-fast);
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  border-color: var(--sidra-green-dark);
  background-color: var(--sidra-green-dark);
  color: var(--sidra-white);
  transform: translateY(-2px);
  box-shadow: var(--sidra-shadow-sm);
}

/* WooCommerce primary action buttons */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  border-color: var(--sidra-green);
  background-color: var(--sidra-green);
  color: var(--sidra-white);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  border-color: var(--sidra-green-dark);
  background-color: var(--sidra-green-dark);
  color: var(--sidra-white);
}

/* Secondary Sidra button */
.sidra-button-secondary,
.elementor-button.sidra-button-secondary {
  border-color: var(--sidra-blue);
  background-color: var(--sidra-blue);
  color: var(--sidra-white);
}

.sidra-button-secondary:hover,
.elementor-button.sidra-button-secondary:hover {
  border-color: var(--sidra-blue-dark);
  background-color: var(--sidra-blue-dark);
  color: var(--sidra-white);
}

/* Outline Sidra button */
.sidra-button-outline,
.elementor-button.sidra-button-outline {
  border-color: var(--sidra-blue);
  background-color: transparent;
  color: var(--sidra-blue);
}

.sidra-button-outline:hover,
.elementor-button.sidra-button-outline:hover {
  background-color: var(--sidra-blue);
  color: var(--sidra-white);
}

/* =========================================================
   6. FORM FIELDS
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="date"],
input[type="time"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid var(--sidra-gray-300);
  border-radius: var(--sidra-radius-sm);
  background-color: var(--sidra-white);
  color: var(--sidra-text);
  font-size: 1rem;
  line-height: 1.4;
  box-shadow: none;
  transition:
    border-color var(--sidra-transition-fast),
    box-shadow var(--sidra-transition-fast),
    background-color var(--sidra-transition-fast);
}

textarea,
.woocommerce form .form-row textarea {
  min-height: 140px;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: #98a5ac;
  opacity: 1;
}

input:focus,
select:focus,
textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--sidra-blue);
  background-color: var(--sidra-white);
  outline: none;
  box-shadow: 0 0 0 4px rgba(0, 108, 168, 0.12);
}

label {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--sidra-text);
  font-size: 0.925rem;
  font-weight: 600;
}

/* =========================================================
   7. GLOBAL CONTAINERS
   ========================================================= */

.sidra-container {
  width: min(100% - 40px, var(--sidra-container-width));
  margin-inline: auto;
}

.sidra-content-width {
  width: min(100%, var(--sidra-content-width));
}

/* Site-wide safety net: any Elementor container/section explicitly set to
   "Full Width" renders edge-to-edge by default (elementor-element-e-con-full
   / e-con-full). Most pages already box their own sections with an explicit
   content_width, but this catches anything that doesn't — current pages
   (e.g. the policy pages) and any future page content alike — so nothing
   silently ends up full-bleed. */
.e-con-full {
  width: min(100% - 40px, var(--sidra-container-width));
  max-width: var(--sidra-container-width);
  margin-inline: auto;
}
@media (max-width: 782px) {
  .e-con-full {
    width: min(100% - 32px, var(--sidra-container-width));
  }
}

.site-main,
.elementor-location-single,
.elementor-location-archive {
  color: var(--sidra-text);
}

/* =========================================================
   8. GLOBAL SECTIONS
   ========================================================= */

.sidra-section {
  padding-block: clamp(48px, 7vw, 96px);
}

.sidra-section-light {
  background-color: var(--sidra-gray-50);
}

.sidra-section-blue {
  background-color: var(--sidra-blue-light);
}

.sidra-section-green {
  background-color: var(--sidra-green-light);
}

.sidra-section-dark {
  background-color: var(--sidra-blue-dark);
  color: var(--sidra-white);
}

.sidra-section-dark h1,
.sidra-section-dark h2,
.sidra-section-dark h3,
.sidra-section-dark h4,
.sidra-section-dark p {
  color: var(--sidra-white);
}

/* =========================================================
   9. CARDS
   ========================================================= */

.sidra-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border: 1px solid var(--sidra-gray-200);
  border-radius: var(--sidra-radius-lg);
  background-color: var(--sidra-white);
  box-shadow: var(--sidra-shadow-sm);
  transition:
    transform var(--sidra-transition-normal),
    box-shadow var(--sidra-transition-normal),
    border-color var(--sidra-transition-normal);
}

.sidra-card {
  padding: clamp(20px, 3vw, 30px);
}

.sidra-card:hover,
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  border-color: rgba(0, 108, 168, 0.2);
  transform: translateY(-4px);
  box-shadow: var(--sidra-shadow-md);
}

/* =========================================================
   10. HEADER AND NAVIGATION
   ========================================================= */

.site-header,
.elementor-location-header {
  background-color: var(--sidra-white);
  color: var(--sidra-text);
}

.site-header a,
.elementor-location-header a {
  color: var(--sidra-blue-dark);
  font-weight: 600;
}

.site-header a:hover,
.elementor-location-header a:hover,
.site-header .current-menu-item > a,
.elementor-location-header .current-menu-item > a {
  color: var(--sidra-green);
}

/* Elementor navigation */
.elementor-nav-menu--main .elementor-item {
  color: var(--sidra-blue-dark);
  font-family: var(--sidra-font-body);
  font-weight: 600;
}

.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--sidra-green);
}

/* =========================================================
   11. FOOTER
   ========================================================= */

.site-footer,
.elementor-location-footer {
  background-color: var(--sidra-blue-dark);
  color: rgba(255, 255, 255, 0.82);
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5,
.elementor-location-footer h6 {
  color: var(--sidra-white);
}

.site-footer p,
.elementor-location-footer p {
  color: rgba(255, 255, 255, 0.78);
}

.site-footer a,
.elementor-location-footer a {
  color: rgba(255, 255, 255, 0.85);
}

.site-footer a:hover,
.elementor-location-footer a:hover {
  color: var(--sidra-aqua);
}

/* =========================================================
   12. WOOCOMMERCE GLOBAL STYLES
   ========================================================= */

.woocommerce .woocommerce-breadcrumb {
  color: var(--sidra-gray-500);
  font-size: 0.875rem;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--sidra-blue);
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--sidra-green);
}

/* Product titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  color: var(--sidra-blue-dark);
  font-family: var(--sidra-font-heading);
  font-weight: 700;
}

/* Product prices */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--sidra-green-dark);
  font-weight: 700;
}

/* Sale badge */
.woocommerce span.onsale {
  min-width: auto;
  min-height: auto;
  padding: 7px 12px;
  border-radius: var(--sidra-radius-pill);
  background-color: var(--sidra-green);
  color: var(--sidra-white);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
}

/* Product images */
.woocommerce ul.products li.product img {
  border-radius: var(--sidra-radius-md);
}

/* Quantity field */
.woocommerce .quantity .qty {
  min-height: 46px;
  border: 1px solid var(--sidra-gray-300);
  border-radius: var(--sidra-radius-sm);
}

/* Tables */
.woocommerce table.shop_table {
  overflow: hidden;
  border: 1px solid var(--sidra-gray-200);
  border-radius: var(--sidra-radius-md);
  background-color: var(--sidra-white);
}

.woocommerce table.shop_table th {
  color: var(--sidra-blue-dark);
  font-weight: 700;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  padding: 14px 16px;
  border-color: var(--sidra-gray-200);
}

/* Checkout and account boxes */
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-account .woocommerce-MyAccount-content {
  border-radius: var(--sidra-radius-lg);
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 16px 20px 16px 48px;
  border: 0;
  border-radius: var(--sidra-radius-md);
  box-shadow: var(--sidra-shadow-sm);
}

.woocommerce-message {
  border-left: 4px solid var(--sidra-success);
  background-color: var(--sidra-green-light);
  color: var(--sidra-text);
}

.woocommerce-info {
  border-left: 4px solid var(--sidra-info);
  background-color: var(--sidra-blue-light);
  color: var(--sidra-text);
}

.woocommerce-error {
  border-left: 4px solid var(--sidra-error);
  background-color: #fff1f1;
  color: var(--sidra-text);
}

/* =========================================================
   13. WOOCOMMERCE MY ACCOUNT
   ========================================================= */

.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 14px;
  border: 1px solid var(--sidra-gray-200);
  border-radius: var(--sidra-radius-lg);
  background-color: var(--sidra-white);
  box-shadow: var(--sidra-shadow-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin-bottom: 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 15px;
  border-radius: var(--sidra-radius-sm);
  color: var(--sidra-blue-dark);
  font-weight: 600;
  transition:
    background-color var(--sidra-transition-fast),
    color var(--sidra-transition-fast);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account
  .woocommerce-MyAccount-navigation
  .is-active
  a {
  background-color: var(--sidra-green-light);
  color: var(--sidra-green-dark);
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group {
  border-radius: var(--sidra-radius-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 15px;
  border-radius: var(--sidra-radius-sm);
  color: var(--sidra-blue-dark);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  transition: background-color var(--sidra-transition-fast), color var(--sidra-transition-fast);
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group summary::-webkit-details-marker {
  display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group summary::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--sidra-transition-fast);
  flex-shrink: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group[open] summary::after {
  transform: rotate(-135deg);
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group summary:hover,
.woocommerce-account .woocommerce-MyAccount-navigation-link--settings-group.has-active-child summary {
  background-color: var(--sidra-green-light);
  color: var(--sidra-green-dark);
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group ul {
  margin: 4px 0 0;
  padding-left: 12px;
}

.woocommerce-account .woocommerce-MyAccount-navigation .sidra-account-settings-group ul a {
  font-weight: 500;
  font-size: 0.95em;
}

.woocommerce-account .woocommerce-MyAccount-content {
  padding: clamp(20px, 4vw, 36px);
  border: 1px solid var(--sidra-gray-200);
  background-color: var(--sidra-white);
  box-shadow: var(--sidra-shadow-sm);
}

/* =========================================================
   14. SIDRA COUPON COMPONENTS
   ========================================================= */

.sidra-coupon-balance {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid rgba(57, 181, 74, 0.18);
  border-radius: var(--sidra-radius-xl);
  background:
    radial-gradient(
      circle at top right,
      rgba(78, 197, 212, 0.22),
      transparent 40%
    ),
    linear-gradient(
      135deg,
      var(--sidra-green-light),
      var(--sidra-blue-light)
    );
  box-shadow: var(--sidra-shadow-md);
}

.sidra-coupon-balance__label {
  margin-bottom: 8px;
  color: var(--sidra-blue-dark);
  font-size: 0.95rem;
  font-weight: 600;
}

.sidra-coupon-balance__value {
  margin: 0;
  color: var(--sidra-green-dark);
  font-family: var(--sidra-font-heading);
  font-size: clamp(2rem, 5vw, 3.75rem);
  font-weight: 700;
  line-height: 1.1;
}

.sidra-coupon-balance__meta {
  margin-top: 10px;
  color: var(--sidra-gray-500);
  font-size: 0.9rem;
}

.sidra-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  border-radius: var(--sidra-radius-pill);
  font-size: 0.8rem;
  font-weight: 700;
}

.sidra-status--success {
  background-color: var(--sidra-green-light);
  color: var(--sidra-green-dark);
}

.sidra-status--pending {
  background-color: #fff6e6;
  color: #9b6100;
}

.sidra-status--error {
  background-color: #fff0f0;
  color: var(--sidra-error);
}

.sidra-status--reserved {
  background-color: #f2effc;
  color: var(--sidra-reserved);
}

/* =========================================================
   15. SELECTION AND SCROLLBAR
   ========================================================= */

::selection {
  background-color: var(--sidra-green);
  color: var(--sidra-white);
}

::-moz-selection {
  background-color: var(--sidra-green);
  color: var(--sidra-white);
}

@media (min-width: 768px) {
  ::-webkit-scrollbar {
    width: 10px;
  }

  ::-webkit-scrollbar-track {
    background-color: var(--sidra-gray-100);
  }

  ::-webkit-scrollbar-thumb {
    border: 2px solid var(--sidra-gray-100);
    border-radius: var(--sidra-radius-pill);
    background-color: var(--sidra-blue);
  }

  ::-webkit-scrollbar-thumb:hover {
    background-color: var(--sidra-green);
  }
}

/* =========================================================
   16. SIMPLE GLOBAL ANIMATIONS
   ========================================================= */

.sidra-fade-up {
  animation: sidraFadeUp 700ms ease both;
}

.sidra-float {
  animation: sidraFloat 8s ease-in-out infinite;
}

@keyframes sidraFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sidraFloat {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-7px);
  }
}

/* =========================================================
   17. TABLET RESPONSIVENESS
   ========================================================= */

@media (max-width: 1024px) {
  .sidra-container {
    width: min(100% - 48px, var(--sidra-container-width));
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 24px;
  }
}

/* =========================================================
   18. MOBILE RESPONSIVENESS
   ========================================================= */

@media (max-width: 767px) {
  body {
    font-size: 15px;
    line-height: 1.65;
  }

  .sidra-container {
    width: min(100% - 32px, var(--sidra-container-width));
  }

  h1 {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  h2 {
    font-size: clamp(1.7rem, 8vw, 2.3rem);
  }

  h3 {
    font-size: clamp(1.35rem, 6vw, 1.8rem);
  }

  button,
  input[type="button"],
  input[type="submit"],
  .elementor-button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    min-height: 48px;
    padding: 13px 20px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 20px;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
    padding: 20px;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    margin-bottom: 16px;
    border: 1px solid var(--sidra-gray-200);
    border-radius: var(--sidra-radius-md);
    background-color: var(--sidra-white);
    box-shadow: var(--sidra-shadow-sm);
  }
}

/* =========================================================
   19. REDUCED MOTION ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   SIDRA CONTACT FORM 7
   Unique prefix: sdw-contact-v1
   ========================================================= */

/* Contact Form 7 wrapper */
.sdw-contact-v1 {
  width: 100%;
  max-width: 740px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px);
  border: 1px solid rgba(0, 108, 168, 0.08);
  border-radius: 30px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(255, 255, 255, 1)
    );
  box-shadow:
    0 22px 50px rgba(0, 76, 120, 0.13),
    0 6px 18px rgba(0, 76, 120, 0.06);
  font-family: var(--sidra-font-body);
}

/* Header */
.sdw-contact-v1__header {
  margin-bottom: 34px;
}

.sdw-contact-v1__title {
  margin: 0 0 10px;
  color: var(--sidra-blue-dark);
  font-family: var(--sidra-font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.sdw-contact-v1__intro {
  max-width: 600px;
  margin: 0;
  color: var(--sidra-gray-700);
  font-size: clamp(0.98rem, 1.8vw, 1.15rem);
  font-weight: 400;
  line-height: 1.55;
}

/* Grid */
.sdw-contact-v1__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 22px;
}

.sdw-contact-v1__field {
  min-width: 0;
}

.sdw-contact-v1__field--full,
.sdw-contact-v1__actions {
  grid-column: 1 / -1;
}

/* Labels */
.sdw-contact-v1__field label {
  display: block;
  margin-bottom: 10px;
  color: var(--sidra-gray-700);
  font-family: var(--sidra-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

/* CF7 spans */
.sdw-contact-v1 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* Inputs */
.sdw-contact-v1 input[type="text"],
.sdw-contact-v1 input[type="email"],
.sdw-contact-v1 input[type="tel"],
.sdw-contact-v1 select,
.sdw-contact-v1 textarea {
  width: 100%;
  margin: 0;
  border: 1px solid #becbb7;
  border-radius: 15px;
  background-color: var(--sidra-gray-50);
  color: var(--sidra-text);
  font-family: var(--sidra-font-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: none;
  outline: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    transform 180ms ease;
}

.sdw-contact-v1 input[type="text"],
.sdw-contact-v1 input[type="email"],
.sdw-contact-v1 input[type="tel"],
.sdw-contact-v1 select {
  min-height: 58px;
  padding: 14px 18px;
}

.sdw-contact-v1 textarea {
  min-height: 150px;
  padding: 16px 18px;
  resize: vertical;
}

/* Placeholder */
.sdw-contact-v1 input::placeholder,
.sdw-contact-v1 textarea::placeholder {
  color: #7f899b;
  opacity: 1;
}

/* Focus */
.sdw-contact-v1 input[type="text"]:focus,
.sdw-contact-v1 input[type="email"]:focus,
.sdw-contact-v1 input[type="tel"]:focus,
.sdw-contact-v1 select:focus,
.sdw-contact-v1 textarea:focus {
  border-color: var(--sidra-blue);
  background-color: var(--sidra-white);
  box-shadow: 0 0 0 4px rgba(0, 108, 168, 0.12);
}

/* Select */
.sdw-contact-v1 select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 48px;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--sidra-gray-500) 50%),
    linear-gradient(135deg, var(--sidra-gray-500) 50%, transparent 50%);
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* Submit area */
.sdw-contact-v1__actions {
  margin-top: 4px;
}

/* Submit button */
.sdw-contact-v1 .sdw-contact-v1__submit,
.sdw-contact-v1 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 15px 24px;
  border: 1px solid var(--sidra-green-dark);
  border-radius: 13px;
  background-color: #007d21;
  color: var(--sidra-white);
  font-family: var(--sidra-font-body);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 10px 18px rgba(0, 125, 33, 0.2);
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}

.sdw-contact-v1 .sdw-contact-v1__submit:hover,
.sdw-contact-v1 input[type="submit"]:hover {
  border-color: var(--sidra-green-dark);
  background-color: var(--sidra-green-dark);
  color: var(--sidra-white);
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(0, 125, 33, 0.26);
}

.sdw-contact-v1 .sdw-contact-v1__submit:active,
.sdw-contact-v1 input[type="submit"]:active {
  transform: translateY(0);
}

/* CF7 spinner */
.sdw-contact-v1 .wpcf7-spinner {
  display: block;
  margin: 14px auto 0;
}

/* Validation errors */
.sdw-contact-v1 .wpcf7-not-valid {
  border-color: var(--sidra-error) !important;
  box-shadow: 0 0 0 4px rgba(214, 69, 69, 0.1);
}

.sdw-contact-v1 .wpcf7-not-valid-tip {
  margin-top: 7px;
  color: var(--sidra-error);
  font-size: 0.82rem;
  font-weight: 500;
}

/* Response messages */
.sdw-contact-v1 + .wpcf7-response-output,
.wpcf7 form .sdw-contact-v1 ~ .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 14px 18px;
  border-radius: 12px;
  font-family: var(--sidra-font-body);
  font-size: 0.9rem;
  line-height: 1.5;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: var(--sidra-success);
  background-color: var(--sidra-green-light);
  color: var(--sidra-green-dark);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: var(--sidra-error);
  background-color: #fff2f2;
  color: var(--sidra-error);
}

/* Prevent inherited theme styles */
.sdw-contact-v1 p {
  margin: 0;
}

.sdw-contact-v1 br {
  display: none;
}

/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 900px) {
  .sdw-contact-v1 {
    max-width: 680px;
    padding: 42px;
    border-radius: 26px;
  }
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {
  .sdw-contact-v1 {
    width: 100%;
    max-width: 100%;
    padding: 30px 22px;
    border-radius: 22px;
  }

  .sdw-contact-v1__header {
    margin-bottom: 28px;
  }

  .sdw-contact-v1__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .sdw-contact-v1__field--full,
  .sdw-contact-v1__actions {
    grid-column: auto;
  }

  .sdw-contact-v1 input[type="text"],
  .sdw-contact-v1 input[type="email"],
  .sdw-contact-v1 input[type="tel"],
  .sdw-contact-v1 select {
    min-height: 54px;
  }

  .sdw-contact-v1 textarea {
    min-height: 140px;
  }

  .sdw-contact-v1 .sdw-contact-v1__submit,
  .sdw-contact-v1 input[type="submit"] {
    min-height: 56px;
  }
}

/* =========================================================
   Small mobile
   ========================================================= */

@media (max-width: 420px) {
  .sdw-contact-v1 {
    padding: 26px 18px;
  }

  .sdw-contact-v1__title {
    font-size: 1.8rem;
  }

  .sdw-contact-v1__intro {
    font-size: 0.95rem;
  }

  .sdw-contact-v1 input[type="text"],
  .sdw-contact-v1 input[type="email"],
  .sdw-contact-v1 input[type="tel"],
  .sdw-contact-v1 select,
  .sdw-contact-v1 textarea {
    font-size: 16px;
  }
}

/* =========================================================
   Reduced motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .sdw-contact-v1 *,
  .sdw-contact-v1 *::before,
  .sdw-contact-v1 *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}