.wt-mycoupons ul li {
box-sizing: border-box;
display: inline-block;
padding: 15px;
width: 170px;
min-height: 60px;
margin-bottom: 15px;
vertical-align: top;
line-height: 1.4;
}   
.wt_coupon_wrapper{ width:100%; position:relative; flex-direction:row; flex-wrap:wrap; display:flex; justify-content:flex-start; margin-bottom:15px; gap:26px;  padding:15px 4px 4px 4px; }
.wt_coupon_wrapper .wt-single-coupon, .wt_coupon_wrapper .wt-sc-hidden-coupon-box{ width: 30%; min-width: 314px; margin: 0px; flex: 1 0 30%; }
.wt_coupon_wrapper .wt-sc-hidden-coupon-box{ content:""; visibility:hidden; }
.wt_sc_pagination{ width:100%; clear:both; margin-bottom:15px; text-align:right; }
.wt_sc_pagination .woocommerce-pagination{ display:inline-block; float:none; }
.wt_sc_available_coupon_sort_by{ float:right; font-size:14px; }
.wt_sc_available_coupon_sort_by form{ margin-bottom: 0; }
.wt_sc_bogo_cart_item_discount, .wt_sc_bogo_cart_item_discount *{ color:green; font-size:small; }
.wt-mycoupons:has(.wt_sc_myaccount_no_available_coupons) .wt_sc_available_coupon_sort_by { display: none; }:root {  --color-primary: #0d959c; --color-primary-dark: #087f85; --color-primary-light: #0ab3ba;  --color-gray-50: #f9fafb; --color-gray-100: #f3f4f6; --color-gray-200: #e5e7eb; --color-gray-300: #d1d5db; --color-gray-400: #9ca3af; --color-gray-500: #6b7280; --color-gray-600: #4b5563; --color-gray-700: #374151; --color-gray-800: #1f2937; --color-gray-900: #111827;  --color-white: #ffffff;
--color-black: #000000;
--color-error: #ef4444; --color-success: #10b981; --color-warning: #f59e0b; --color-info: var(--color-primary);  --shadow-xs: rgba(0, 0, 0, 0.04); --color-primary-transparent-10: rgba(13, 149, 156, 0.1);
--color-primary-transparent-12: rgba(10, 179, 186, 0.12);
--color-primary-transparent-15: rgba(13, 149, 156, 0.15);
--color-primary-transparent-20: rgba(13, 149, 156, 0.2);
--color-primary-transparent-25: rgba(13, 149, 156, 0.25);
--color-primary-transparent-30: rgba(13, 149, 156, 0.3); --color-white-90: rgba(255, 255, 255, 0.9);
--color-white-85: rgba(255, 255, 255, 0.85);
--color-white-30: rgba(255, 255, 255, 0.3);
--color-white-20: rgba(255, 255, 255, 0.2);
--color-white-15: rgba(255, 255, 255, 0.15); --gradient-primary: linear-gradient(45deg, #0ab3ba 0%, #0d959c 100%);
--gradient-hero: linear-gradient(135deg, #087f85 0%, #0d959c 100%);
--gradient-cta: linear-gradient(145deg, #0d959c 0%, #087f85 100%);
--gradient-subtle: linear-gradient(145deg, rgba(13, 149, 156, 0.08) 0%, rgba(10, 179, 186, 0.12) 100%);
--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);
--gradient-success-bar: linear-gradient(90deg, #6ee7b7 0%, #059669 100%);
--gradient-error-bar: linear-gradient(90deg, #fca5a5 0%, #ef4444 100%); --color-error-light: #fef2f2;
--color-error-border: #fecaca;
--color-error-text-dark: #991b1b;
--color-error-bg: #fee2e2; --color-success-light: #6ee7b7;
--color-success-dark: #059669;
--color-success-darker: #047857;
--color-success-text-dark: #166534;
--color-success-bg: #dcfce7; --color-warning-bg: #fef3c7;
--color-warning-text: #92400e;  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
--font-family-heading: var(--font-family-base); --font-size-xs: 12px; --font-size-sm: 14px; --font-size-base: 16px; --font-size-lg: 18px; --font-size-xl: 20px; --font-size-2xl: 24px; --font-size-3xl: 30px; --font-size-4xl: 36px; --font-size-5xl: 42px; --font-size-6xl: 56px;  --font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--font-weight-extrabold: 800; --line-height-tight: 1.15; --line-height-snug: 1.3; --line-height-normal: 1.5; --line-height-relaxed: 1.6; --line-height-loose: 1.7;  --letter-spacing-tight: -0.04em; --letter-spacing-normal: 0; --letter-spacing-wide: 0.025em; --letter-spacing-wider: 0.05em; --letter-spacing-widest: 0.15em;   --spacing-1: 4px;
--spacing-2: 8px;
--spacing-3: 12px;
--spacing-4: 16px;
--spacing-5: 20px;
--spacing-6: 24px;
--spacing-7: 28px;
--spacing-8: 32px;
--spacing-10: 40px;
--spacing-12: 48px;
--spacing-14: 56px;
--spacing-16: 64px;
--spacing-20: 80px; --spacing-xs: var(--spacing-2); --spacing-sm: var(--spacing-3); --spacing-md: var(--spacing-4); --spacing-lg: var(--spacing-6); --spacing-xl: var(--spacing-8); --spacing-2xl: var(--spacing-12); --spacing-3xl: var(--spacing-16);  --radius-sm: 6px;
--radius-base: 8px;
--radius-md: 10px;
--radius-lg: 12px;
--radius-xl: 16px;
--radius-2xl: 24px;
--radius-full: 9999px;  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
--shadow-base: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
--shadow-button: 0 4px 15px rgba(0, 0, 0, 0.15);
--shadow-button-hover: 0 8px 25px rgba(0, 0, 0, 0.2); --transition-fast: 150ms ease;
--transition-base: 250ms ease;
--transition-slow: 350ms ease;
--transition-all: all 300ms ease; --z-dropdown: 1000;
--z-sticky: 1020;
--z-fixed: 1030;
--z-modal-backdrop: 1040;
--z-modal: 1050;
--z-popover: 1060;
--z-tooltip: 1070; --container-sm: 640px;
--container-md: 768px;
--container-lg: 1024px;
--container-xl: 1280px;
--container-2xl: 1536px;
} .hub-container {
width: 100%;
max-width: var(--container-xl);
margin-left: auto;
margin-right: auto;
padding-left: var(--spacing-4);
padding-right: var(--spacing-4);
}
.hub-container--sm {
max-width: var(--container-sm);
}
.hub-container--md {
max-width: var(--container-md);
}
.hub-container--lg {
max-width: var(--container-lg);
}
.hub-container--xl {
max-width: var(--container-xl);
}
.hub-container--2xl {
max-width: var(--container-2xl);
} .hub-section {
padding: var(--spacing-20) 0;
}
.hub-section--sm {
padding: var(--spacing-12) 0;
}
.hub-section--lg {
padding: 120px 0;
}
.hub-section--hero {
min-height: 90vh;
display: flex;
align-items: center;
} .hub-bg-primary {
background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
color: var(--color-white);
}
.hub-bg-white {
background-color: var(--color-white);
}
.hub-bg-gray-50 {
background-color: var(--color-gray-50);
}
.hub-bg-gray-100 {
background-color: var(--color-gray-100);
} .hub-text-primary {
color: var(--color-primary);
}
.hub-text-gray-500 {
color: var(--color-gray-500);
}
.hub-text-gray-700 {
color: var(--color-gray-700);
}
.hub-text-gray-900 {
color: var(--color-gray-900);
}
.hub-text-center {
text-align: center;
}
.hub-text-left {
text-align: left;
}
.hub-text-right {
text-align: right;
} @media (max-width: 768px) {
:root {
--font-size-6xl: 42px;
--font-size-5xl: 36px;
--font-size-4xl: 30px;
--font-size-3xl: 24px;
}
.hub-section {
padding: var(--spacing-12) 0;
}
}
@media (max-width: 480px) {
:root {
--font-size-6xl: 36px;
--font-size-5xl: 30px;
--font-size-4xl: 24px;
}
.hub-container {
padding-left: var(--spacing-3);
padding-right: var(--spacing-3);
}
} .hub-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
.hub-focus-visible:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.hub-skip-link {
position: absolute;
top: -40px;
left: 0;
background: var(--color-primary);
color: var(--color-white);
padding: var(--spacing-2) var(--spacing-4);
text-decoration: none;
z-index: var(--z-tooltip);
}
.hub-skip-link:focus {
top: 0;
} .hub-grid {
display: grid;
gap: var(--spacing-8);
}
.hub-grid--2 {
grid-template-columns: repeat(2, 1fr);
}
.hub-grid--3 {
grid-template-columns: repeat(3, 1fr);
}
.hub-grid--4 {
grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1024px) {
.hub-grid--3,
.hub-grid--4 {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.hub-grid--2,
.hub-grid--3,
.hub-grid--4 {
grid-template-columns: 1fr;
}
} .hub-flex {
display: flex;
}
.hub-flex--center {
display: flex;
align-items: center;
justify-content: center;
}
.hub-flex--between {
display: flex;
align-items: center;
justify-content: space-between;
}
.hub-flex--column {
display: flex;
flex-direction: column;
}
.hub-flex--wrap {
flex-wrap: wrap;
}
.hub-gap-2 { gap: var(--spacing-2); }
.hub-gap-3 { gap: var(--spacing-3); }
.hub-gap-4 { gap: var(--spacing-4); }
.hub-gap-6 { gap: var(--spacing-6); }
.hub-gap-8 { gap: var(--spacing-8); }.hub-btn { display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--spacing-3); padding: 16px 32px; font-family: var(--font-primary);
font-size: var(--font-size-base);
font-weight: 400;
line-height: 1;
text-align: center;
text-decoration: none;
letter-spacing: 0.025em; border: none;
border-radius: var(--radius-lg);
cursor: pointer; transform: translateY(0);
transition: transform 0.3s ease, box-shadow 0.3s ease;
user-select: none; flex-shrink: 0;
} .hub-btn:focus {
outline: none;
} .hub-btn:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
} .hub-btn--primary {
background: var(--gradient-primary);
color: var(--color-white);
box-shadow: 0 4px 15px var(--color-primary-transparent-20);
}
.hub-btn--primary:hover,
.hub-btn--primary:hover:not(.hub-btn--disabled) {
color: var(--color-white);
transform: translateY(-2px);
box-shadow: 0 7px 20px var(--color-primary-transparent-30);
}
.hub-btn--primary:active:not(.hub-btn--disabled) {
color: var(--color-white);
transform: translateY(0);
box-shadow: 0 4px 15px var(--color-primary-transparent-20);
} .hub-btn--secondary {
background: var(--color-white);
color: var(--color-primary);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
.hub-btn--secondary:hover,
.hub-btn--secondary:hover:not(.hub-btn--disabled) {
background: var(--color-white);
color: var(--color-primary-dark);
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}
.hub-btn--secondary:active:not(.hub-btn--disabled) {
transform: translateY(0);
}
.hub-btn--secondary:focus-visible {
outline: 2px solid var(--color-white);
outline-offset: 2px;
} .hub-btn--outline {
background: transparent;
color: var(--color-gray-700);
border: 1px solid var(--color-gray-200);
}
.hub-btn--outline:hover,
.hub-btn--outline:hover:not(.hub-btn--disabled) {
background: var(--color-gray-50);
border-color: var(--color-gray-300);
color: var(--color-gray-900);
}
.hub-btn--outline:active:not(.hub-btn--disabled) {
background: var(--color-gray-100);
color: var(--color-gray-900);
} .hub-btn--ghost {
background: transparent;
color: var(--color-primary);
box-shadow: none;
}
.hub-btn--ghost:hover,
.hub-btn--ghost:hover:not(.hub-btn--disabled) {
background: var(--color-gray-50);
color: var(--color-primary-dark);
}
.hub-btn--ghost:active:not(.hub-btn--disabled) {
background: var(--color-gray-100);
color: var(--color-primary-dark);
} .hub-btn--danger {
background: var(--color-error);
color: var(--color-white);
box-shadow: 0 4px 15px rgba(239, 68, 68, 0.25);
}
.hub-btn--danger:hover,
.hub-btn--danger:hover:not(.hub-btn--disabled) {
background: #dc2626;
color: var(--color-white);
transform: translateY(-2px);
box-shadow: 0 7px 20px rgba(239, 68, 68, 0.35);
}
.hub-btn--danger:active:not(.hub-btn--disabled) {
background: #b91c1c;
color: var(--color-white);
transform: translateY(0);
} .hub-btn--success {
background: var(--gradient-success);
color: var(--color-white);
box-shadow: 0 4px 15px rgba(16, 185, 129, 0.25);
}
.hub-btn--success:hover,
.hub-btn--success:hover:not(.hub-btn--disabled) {
color: var(--color-white);
transform: translateY(-2px);
box-shadow: 0 7px 20px rgba(16, 185, 129, 0.35);
}
.hub-btn--success:active:not(.hub-btn--disabled) {
color: var(--color-white);
transform: translateY(0);
box-shadow: 0 4px 15px rgba(16, 185, 129, 0.25);
} .hub-btn--tertiary {
background: var(--color-gray-100);
color: var(--color-gray-500);
border: 1px solid var(--color-gray-200);
box-shadow: none;
}
.hub-btn--tertiary:hover,
.hub-btn--tertiary:hover:not(.hub-btn--disabled) {
background: var(--color-gray-200);
color: var(--color-gray-700);
border-color: var(--color-gray-300);
}
.hub-btn--tertiary:active:not(.hub-btn--disabled) {
background: var(--color-gray-300);
color: var(--color-gray-700);
} .hub-btn--x-small {
padding: 8px 16px;
font-size: var(--font-size-sm);
gap: var(--spacing-1);
border-radius: var(--radius-base);
}
.hub-btn--x-small .hub-btn__icon {
width: 14px;
height: 14px;
} .hub-btn--small {
padding: 12px 20px;
font-size: var(--font-size-sm);
gap: var(--spacing-2);
}
.hub-btn--small .hub-btn__icon {
width: 16px;
height: 16px;
}   .hub-btn--large {
padding: 20px 40px;
font-size: var(--font-size-lg);
gap: var(--spacing-3);
}
.hub-btn--large .hub-btn__icon {
width: 24px;
height: 24px;
}  .hub-btn--full-width {
width: 100%;
display: flex;
} .hub-btn--disabled {
background: var(--color-gray-200) !important;
color: var(--color-gray-400) !important;
font-weight: 400 !important;
cursor: not-allowed;
pointer-events: none;
box-shadow: none !important;
border-color: var(--color-gray-200) !important;
}  .hub-btn__text {
display: inline-block;
} .hub-btn__icon {
width: 20px;
height: 20px;
flex-shrink: 0;
}
.hub-btn__icon--before {
order: -1;
}
.hub-btn__icon--after {
order: 1;
} @media (max-width: 768px) {
.hub-btn {
font-size: var(--font-size-sm);
padding: 14px 28px;
}
.hub-btn--large {
padding: 18px 36px;
font-size: var(--font-size-base);
}
.hub-btn--small {
padding: 10px 18px;
font-size: var(--font-size-xs);
}
.hub-btn--x-small {
padding: 6px 12px;
font-size: var(--font-size-xs);
}
}
@media (max-width: 480px) {
.hub-btn {
font-size: var(--font-size-sm);
padding: 12px 24px;
}
.hub-btn--large {
padding: 16px 32px;
font-size: var(--font-size-base);
}
.hub-btn--small {
padding: 8px 16px;
font-size: var(--font-size-xs);
}
.hub-btn--x-small {
padding: 6px 12px;
font-size: var(--font-size-xs);
} .hub-btn-group {
flex-direction: column;
width: 100%;
}
.hub-btn-group .hub-btn {
width: 100%;
}
} .hub-btn-group {
display: flex;
gap: var(--spacing-3);
flex-wrap: wrap;
}
.hub-btn-group--center {
justify-content: center;
}
.hub-btn-group--end {
justify-content: flex-end;
} .hub-btn--loading {
position: relative;
color: transparent;
pointer-events: none;
}
.hub-btn--loading::after {
content: "";
position: absolute;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-left: -8px;
margin-top: -8px;
border: 2px solid currentColor;
border-top-color: transparent;
border-radius: 50%;
animation: hub-btn-spin 0.6s linear infinite;
}
@keyframes hub-btn-spin {
to {
transform: rotate(360deg);
}
} .hub-btn__icon.spinner {
animation: hub-btn-spin 1s linear infinite;
}  .hub-btn__icon {
transition: transform 0.3s ease;
}
.hub-btn--expanded .hub-btn__icon,
.hub-btn[aria-expanded="true"] .hub-btn__icon {
transform: rotate(180deg);
} @keyframes hub-btn-pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.hub-btn__icon--pulse {
animation: hub-btn-pulse 2s ease-in-out infinite;
}.hub-heading { font-family: var(--font-family-base);
font-weight: var(--font-weight-extrabold);
line-height: var(--line-height-tight);
letter-spacing: var(--letter-spacing-tight); margin: 0; color: var(--color-gray-900); display: block;
}  .hub-heading--hero {
font-size: clamp(var(--font-size-4xl), 6vw, var(--font-size-6xl));
font-weight: var(--font-weight-extrabold);
line-height: var(--line-height-tight);
letter-spacing: var(--letter-spacing-tight);
} .hub-heading--section {
font-size: var(--font-size-5xl);
font-weight: var(--font-weight-extrabold);
line-height: var(--line-height-snug);
letter-spacing: var(--letter-spacing-tight);
} .hub-heading--subsection {
font-size: var(--font-size-3xl);
font-weight: var(--font-weight-extrabold);
line-height: var(--line-height-snug);
letter-spacing: var(--letter-spacing-tight);
} .hub-heading--card {
font-size: var(--font-size-lg);
font-weight: var(--font-weight-bold);
line-height: var(--line-height-normal);
letter-spacing: var(--letter-spacing-normal);
} .hub-heading--inherit {
color: inherit;
}
.hub-heading--primary {
color: var(--color-primary);
}
.hub-heading--secondary {
color: var(--color-primary-dark);
}
.hub-heading--dark {
color: var(--color-gray-900);
}
.hub-heading--light {
color: var(--color-gray-600);
}
.hub-heading--white {
color: var(--color-white);
}
.hub-heading--muted {
color: var(--color-gray-500);
} .hub-heading--left {
text-align: left;
}
.hub-heading--center {
text-align: center;
margin-left: auto;
margin-right: auto;
}
.hub-heading--right {
text-align: right;
} .hub-heading--max-width {  } .hub-heading--center.hub-heading--max-width {
margin-left: auto;
margin-right: auto;
} @media (max-width: 768px) { .hub-heading--hero {
font-size: clamp(var(--font-size-2xl), 8vw, var(--font-size-4xl));
} .hub-heading--section {
font-size: var(--font-size-4xl);
} .hub-heading--subsection {
font-size: var(--font-size-3xl);
} .hub-heading--card {
font-size: var(--font-size-base);
}
}
@media (max-width: 480px) { .hub-heading--hero {
font-size: clamp(var(--font-size-2xl), 10vw, var(--font-size-3xl));
} .hub-heading--section {
font-size: var(--font-size-3xl);
} .hub-heading--subsection {
font-size: var(--font-size-2xl);
}
}   .hub-heading--hero.hub-heading--max-width,
.hub-heading--section.hub-heading--max-width,
.hub-heading--subsection.hub-heading--max-width {
word-wrap: break-word;
overflow-wrap: break-word;
}.hub-text { font-family: var(--font-family-base);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
letter-spacing: var(--letter-spacing-normal); margin: 0; color: var(--color-gray-700); display: block;
} .hub-text--xs {
font-size: var(--font-size-xs);
}
.hub-text--sm {
font-size: var(--font-size-sm);
}
.hub-text--base {
font-size: var(--font-size-base);
}
.hub-text--lg {
font-size: var(--font-size-lg);
}
.hub-text--xl {
font-size: var(--font-size-xl);
}
.hub-text--2xl {
font-size: var(--font-size-2xl);
} .hub-text--normal {
font-weight: var(--font-weight-normal);
}
.hub-text--medium {
font-weight: var(--font-weight-medium);
}
.hub-text--semibold {
font-weight: var(--font-weight-semibold);
}
.hub-text--bold {
font-weight: var(--font-weight-bold);
} .hub-text--inherit {
color: inherit;
}
.hub-text--primary {
color: var(--color-primary);
}
.hub-text--secondary {
color: var(--color-primary-dark);
}
.hub-text--dark {
color: var(--color-gray-900);
}
.hub-text--light {
color: var(--color-gray-600);
}
.hub-text--white {
color: var(--color-white);
}
.hub-text--muted {
color: var(--color-gray-500);
} .hub-text--left {
text-align: left;
}
.hub-text--center {
text-align: center;
margin-left: auto;
margin-right: auto;
}
.hub-text--right {
text-align: right;
} .hub-text--leading-tight {
line-height: var(--line-height-tight); }
.hub-text--leading-normal {
line-height: var(--line-height-normal); }
.hub-text--leading-relaxed {
line-height: var(--line-height-relaxed); }
.hub-text--leading-loose {
line-height: var(--line-height-loose); } .hub-text--transform-uppercase {
text-transform: uppercase;
}
.hub-text--transform-lowercase {
text-transform: lowercase;
}
.hub-text--transform-capitalize {
text-transform: capitalize;
} .hub-text--spacing-tight {
letter-spacing: var(--letter-spacing-tight);
}
.hub-text--spacing-wide {
letter-spacing: var(--letter-spacing-wide);
}
.hub-text--spacing-wider {
letter-spacing: var(--letter-spacing-wider);
} .hub-text--max-width {  } .hub-text--center.hub-text--max-width {
margin-left: auto;
margin-right: auto;
} @media (max-width: 768px) { .hub-text--xl {
font-size: var(--font-size-lg);
}
.hub-text--2xl {
font-size: var(--font-size-xl);
}
}
@media (max-width: 480px) { .hub-text--lg {
font-size: var(--font-size-base);
}
.hub-text--xl {
font-size: var(--font-size-lg);
}
.hub-text--2xl {
font-size: var(--font-size-xl);
}
}.hub-icon { display: inline-block;
vertical-align: middle;
flex-shrink: 0; width: 24px;
height: 24px; color: currentColor; transition: color var(--hub-transition-base, 0.3s ease);
} .hub-icon--small {
width: 16px;
height: 16px;
}
.hub-icon--medium {
width: 24px;
height: 24px;
}
.hub-icon--large {
width: 32px;
height: 32px;
}
.hub-icon--custom-size { } .hub-icon--currentColor {
color: currentColor;
}
.hub-icon--inherit {
color: inherit;
}
.hub-icon--primary {
color: var(--color-primary);
}
.hub-icon--secondary {
color: var(--color-primary-dark);
}
.hub-icon--dark {
color: var(--color-gray-900);
}
.hub-icon--light {
color: var(--color-gray-600);
}
.hub-icon--white {
color: var(--color-white);
}
.hub-icon--muted {
color: var(--color-gray-500);
} @media (max-width: 768px) { .hub-icon--large {
width: 28px;
height: 28px;
}
}
@media (max-width: 480px) { .hub-icon--large {
width: 24px;
height: 24px;
}
.hub-icon--medium {
width: 20px;
height: 20px;
}
.hub-icon--small {
width: 14px;
height: 14px;
}
}.hub-badge { display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0; font-family: var(--font-family-base);
font-weight: var(--font-weight-bold);
line-height: 1; width: 40px;
height: 40px;
font-size: var(--font-size-sm); border-radius: 50%; background: var(--color-gray-200);
color: var(--color-gray-900); border: none; transition: all var(--hub-transition-base, 0.3s ease);
} .hub-badge--small {
width: 32px;
height: 32px;
font-size: var(--font-size-xs);
}
.hub-badge--medium {
width: 40px;
height: 40px;
font-size: var(--font-size-sm);
}
.hub-badge--large {
width: 56px;
height: 56px;
font-size: var(--font-size-lg);
} .hub-badge--square {
border-radius: 0;
}
.hub-badge--rounded {
border-radius: var(--radius-base);
}
.hub-badge--circle {
border-radius: 50%;
}
.hub-badge--pill {
border-radius: var(--radius-full);
padding: 0 16px;
width: auto;
} .hub-badge--default {
background: var(--color-gray-200);
color: var(--color-gray-900);
}
.hub-badge--primary {
background: var(--color-primary);
color: var(--color-white);
}
.hub-badge--success {
background: #10b981;
color: var(--color-white);
}
.hub-badge--error {
background: #ef4444;
color: var(--color-white);
}
.hub-badge--gradient {
background: linear-gradient(45deg, #0ab3ba 0%, #0d959c 100%);
color: var(--color-white);
} @media (max-width: 768px) { .hub-badge--large {
width: 48px;
height: 48px;
font-size: var(--font-size-base);
}
.hub-badge--medium {
width: 36px;
height: 36px;
font-size: var(--font-size-xs);
}
}
@media (max-width: 480px) { .hub-badge--large {
width: 40px;
height: 40px;
font-size: var(--font-size-sm);
}
.hub-badge--medium {
width: 32px;
height: 32px;
font-size: var(--font-size-xs);
}
.hub-badge--small {
width: 28px;
height: 28px;
font-size: var(--font-size-xs);
}
}.hub-input { display: inline-block; width: auto;
padding: 12px 16px; font-family: var(--font-family-base);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
color: var(--color-gray-900); background: var(--color-white);
border: 1px solid var(--color-gray-300);
border-radius: var(--radius-lg); transition: all var(--hub-transition-base, 0.3s ease); -webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.hub-input::placeholder {
color: var(--color-gray-400);
}
.hub-input:hover:not(:disabled) {
border-color: var(--color-gray-400);
}
.hub-input:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 3px var(--color-primary-transparent-20);
} .hub-input--small {
padding: 8px 12px;
font-size: var(--font-size-sm);
}
.hub-input--medium {
padding: 12px 16px;
font-size: var(--font-size-sm);
}
.hub-input--large {
padding: 16px 20px;
font-size: var(--font-size-base);
} .hub-input--full-width {
width: 100%;
}
.hub-input--error {
border-color: var(--color-error);
}
.hub-input--error:focus {
border-color: var(--color-error);
box-shadow: 0 0 0 3px var(--color-error-light);
}
.hub-input--disabled,
.hub-input:disabled {
background: var(--color-gray-100);
color: var(--color-gray-500);
cursor: not-allowed;
opacity: 0.6;
} @media (max-width: 768px) { .hub-input {
padding: 14px 16px;
font-size: var(--font-size-base); }
.hub-input--small {
padding: 10px 12px;
font-size: var(--font-size-sm);
}
}.hub-textarea { display: inline-block; width: auto;
min-height: 160px;
padding: 12px 16px; font-family: var(--font-family-base);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
color: var(--color-gray-900); background: var(--color-white);
border: 1px solid var(--color-gray-300);
border-radius: var(--radius-lg); resize: vertical; transition: all var(--hub-transition-base, 0.3s ease); -webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.hub-textarea::placeholder {
color: var(--color-gray-400);
}
.hub-textarea:hover:not(:disabled) {
border-color: var(--color-gray-400);
}
.hub-textarea:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(13, 149, 156, 0.2);
} .hub-textarea--small {
padding: 8px 12px;
font-size: var(--font-size-sm);
min-height: 120px;
}
.hub-textarea--medium {
padding: 12px 16px;
font-size: var(--font-size-sm);
min-height: 160px;
}
.hub-textarea--large {
padding: 16px 20px;
font-size: var(--font-size-base);
min-height: 200px;
} .hub-textarea--full-width {
width: 100%;
}
.hub-textarea--error {
border-color: #ef4444;
}
.hub-textarea--error:focus {
border-color: #ef4444;
box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}
.hub-textarea--disabled,
.hub-textarea:disabled {
background: var(--color-gray-100);
color: var(--color-gray-500);
cursor: not-allowed;
opacity: 0.6;
}
.hub-textarea--no-resize {
resize: none;
} @media (max-width: 768px) { .hub-textarea {
padding: 14px 16px;
font-size: var(--font-size-base); }
.hub-textarea--small {
padding: 10px 12px;
font-size: var(--font-size-sm);
}
}.hub-label { display: block; margin-bottom: var(--spacing-2); font-family: var(--font-family-base);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-bold);
line-height: var(--line-height-normal);
color: var(--color-gray-700); cursor: pointer;
} .hub-label--normal {
font-weight: var(--font-weight-normal);
}
.hub-label--medium {
font-weight: var(--font-weight-medium);
}
.hub-label--semibold {
font-weight: var(--font-weight-semibold);
}
.hub-label--bold {
font-weight: var(--font-weight-bold);
} .hub-label__required {
color: #ef4444;
margin-left: 2px;
font-weight: var(--font-weight-bold);
} .hub-label--disabled {
color: var(--color-gray-500);
cursor: not-allowed;
opacity: 0.6;
} @media (max-width: 768px) {
.hub-label {
font-size: var(--font-size-sm);
}
}
@media (max-width: 480px) {
.hub-label {
font-size: var(--font-size-sm);
margin-bottom: 6px;
}
}.sidebar-card {
background: var(--color-white);
border: 1px solid var(--color-gray-200);
border-radius: var(--radius-lg);
padding: var(--spacing-5);
box-shadow: var(--shadow-sm);
outline: none;
}
.sidebar-card:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
} .sidebar-card-header {
display: flex;
align-items: center;
gap: var(--spacing-3);
margin-bottom: var(--spacing-4);
padding-bottom: var(--spacing-3);
border-bottom: 1px solid var(--color-gray-200);
} .sidebar-card-icon {
width: 32px;
height: 32px;
background: var(--color-primary-transparent-10);
border-radius: var(--radius-base);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
color: var(--color-primary);
}
.sidebar-card-icon svg {
width: 16px;
height: 16px;
} .sidebar-card-header h3 {
font-size: var(--font-size-sm);
font-weight: 700;
color: var(--color-gray-900, #111827);
margin: 0;
line-height: var(--line-height-normal, 1.5);
} .sidebar-card-content {
font-size: var(--font-size-sm, 14px);
color: var(--color-gray-500, #6b7280);
line-height: var(--line-height-normal, 1.5);
}
.sidebar-card-content p {
margin: 0;
}
.sidebar-card-content p + p {
margin-top: var(--spacing-2);
} .sidebar-card .lock-control-wrapper {
display: flex;
flex-direction: column;
align-items: stretch;
gap: var(--spacing-3);
} .sidebar-card .empty-state-compact {
text-align: center;
padding: var(--spacing-5) var(--spacing-3);
color: var(--color-gray-400, #9ca3af);
}
.sidebar-card .empty-state-compact-icon {
width: 32px;
height: 32px;
margin: 0 auto var(--spacing-2);
color: var(--color-gray-300, #d1d5db);
}
.sidebar-card .empty-state-compact-icon svg {
width: 100%;
height: 100%;
}
.sidebar-card .empty-state-compact-text {
font-size: var(--font-size-xs);
color: var(--color-gray-400, #9ca3af);
margin: 0;
line-height: 1.4;
} .sidebar-card .support-link {
display: inline-flex;
align-items: center;
gap: var(--spacing-2, 6px);
font-size: var(--font-size-sm, 14px);
color: var(--color-primary);
text-decoration: none;
font-weight: 500;
transition: color var(--transition-fast, 150ms ease);
}
.sidebar-card .support-link:hover {
color: var(--color-primary-dark, #087f85);
text-decoration: underline;
}
.sidebar-card .support-link svg {
width: 16px;
height: 16px;
} @media (max-width: 768px) {
.sidebar-card {
padding: var(--spacing-4);
}
.sidebar-card-header {
gap: var(--spacing-2);
margin-bottom: var(--spacing-3);
padding-bottom: var(--spacing-2);
}
.sidebar-card-icon {
width: 28px;
height: 28px;
}
.sidebar-card-icon svg {
width: 14px;
height: 14px;
}
.sidebar-card-header h3 {
font-size: var(--font-size-sm);
}
.sidebar-card-content {
font-size: var(--font-size-xs);
}
}.hub-table {
width: 100%;
border-collapse: collapse;
margin: 0;
background-color: var(--color-white);
}
.hub-table thead {
background-color: var(--color-white);
}
.hub-table th {
padding: var(--spacing-3) var(--spacing-4);
text-align: left;
font-weight: var(--font-weight-semibold);
font-size: var(--font-size-sm);
color: var(--color-gray-700);
border-bottom: 2px solid var(--color-gray-200);
text-transform: uppercase;
letter-spacing: 0.5px;
vertical-align: middle;
}
.hub-table td {
padding: var(--spacing-4);
font-size: var(--font-size-sm);
color: var(--color-gray-700);
vertical-align: middle;
border-bottom: 1px solid var(--color-gray-200);
}   .hub-table.striped tbody tr:nth-child(odd) {
background-color: var(--color-gray-50);
} .hub-table--bordered td,
.hub-table--bordered th {
border: 1px solid var(--color-gray-200);
} .hub-table--hoverable tbody tr {
transition: background-color var(--transition-fast);
}
.hub-table--hoverable tbody tr:hover {
background-color: var(--color-gray-100);
}  .hub-table--responsive-scroll {
min-width: 100%;
} @media (max-width: 1024px) {
.hub-table th,
.hub-table td {
padding: var(--spacing-3);
font-size: var(--font-size-xs);
}
.hub-table th {
font-size: var(--font-size-xs);
text-transform: capitalize;
letter-spacing: 0;
}
} @media (max-width: 768px) {
.hub-packs-table-wrapper {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
position: relative;
}
.hub-packs-table-wrapper::after {
content: '';
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 20px;
background: linear-gradient(to right, transparent, var(--color-white));
pointer-events: none;
opacity: 0.6;
}
.hub-table {
min-width: 700px;
}
.hub-table th,
.hub-table td {
padding: var(--spacing-2) var(--spacing-3);
}
} @media (max-width: 640px) {
.hub-table--responsive-card thead {
display: none;
}
.hub-table--responsive-card tr {
display: block;
background-color: var(--color-white);
border: 1px solid var(--color-gray-200);
border-radius: var(--radius-base);
padding: var(--spacing-4);
margin-bottom: var(--spacing-4);
box-shadow: var(--shadow-sm);
}
.hub-table--responsive-card td {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: var(--spacing-3) 0;
border: none;
border-bottom: 1px solid var(--color-gray-100);
text-align: right;
}
.hub-table--responsive-card td::before {
content: attr(data-label);
font-weight: var(--font-weight-semibold);
color: var(--color-gray-600);
text-align: left;
flex: 0 0 45%;
word-break: break-word;
}
.hub-table--responsive-card td:last-child {
border-bottom: none;
}
} .hub-table-empty {
text-align: center;
color: var(--color-gray-500);
padding: var(--spacing-8) var(--spacing-4);
margin: 0;
font-size: var(--font-size-base);
} .hub-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
} .hub-table th:focus-visible,
.hub-table td:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: -2px;
}.hub-section-header {
text-align: center;
margin-bottom: var(--spacing-12);  display: flex;
flex-direction: column;
align-items: center;
}  .hub-section-header > .hub-heading,
.hub-section-header > .hub-text {
text-align: center;
} .hub-section-header__icon {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: var(--spacing-4);
} @media (max-width: 768px) {
.hub-section-header {
margin-bottom: var(--spacing-8); }
}.cost-simulator-section {
padding: var(--spacing-20) 0;
background-color: var(--color-gray-50);
font-family: var(--font-family-base);
color: var(--color-gray-700);
} .visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
} .cost-simulator-header {
text-align: center;
margin-bottom: var(--spacing-12);
}
.cost-simulator-icon {
width: var(--spacing-14);
height: var(--spacing-14);
background: var(--color-primary-transparent-10);
border-radius: var(--radius-lg);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto var(--spacing-6);
color: var(--color-primary);
}
.cost-simulator-icon svg {
width: var(--spacing-7);
height: var(--spacing-7);
}
.cost-simulator-header h2 {
font-size: var(--font-size-5xl);
font-weight: var(--font-weight-extrabold);
color: var(--color-gray-900);
margin-bottom: var(--spacing-3);
letter-spacing: -0.04em;
}
.cost-simulator-header p {
color: var(--color-gray-500);
max-width: 50ch;
margin: 0 auto;
font-size: var(--font-size-lg);
line-height: 1.6;
} .simulator-toggle-wrapper {
text-align: center;
margin-bottom: var(--spacing-6);
} .simulator-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--spacing-3);
padding: var(--spacing-4) var(--spacing-8);
font-size: var(--font-size-base);
font-weight: 400;
color: var(--color-white);
background: var(--color-primary);
border: none;
border-radius: var(--radius-lg);
cursor: pointer;
transition: all var(--transition-base);
box-shadow: 0 4px 15px var(--color-primary-transparent-20);
font-family: inherit;
}
.simulator-toggle:hover {
transform: translateY(-2px);
box-shadow: 0 7px 20px var(--color-primary-transparent-30);
}
.simulator-toggle:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.toggle-icon {
width: var(--spacing-5);
height: var(--spacing-5);
transition: transform var(--transition-base);
}
.simulator-toggle[aria-expanded="true"] .toggle-icon {
transform: rotate(180deg);
}
.toggle-text-collapsed {
display: inline;
}
.toggle-text-expanded {
display: none;
}
.simulator-toggle[aria-expanded="true"] .toggle-text-collapsed {
display: none;
}
.simulator-toggle[aria-expanded="true"] .toggle-text-expanded {
display: inline;
} .cost-simulator-content {
max-width: 900px;
margin: 0 auto;
} .simulator-results {
background: var(--color-white);
border-radius: var(--radius-xl);
padding: var(--spacing-10);
border: 1px solid var(--color-gray-200);
box-shadow: var(--shadow-md);
margin-bottom: var(--spacing-8);
} .savings-highlight {
text-align: center;
padding: var(--spacing-8);
background: var(--gradient-subtle);
border-radius: var(--radius-lg);
margin-bottom: var(--spacing-8);
border: 1px solid var(--color-primary-transparent-20);
}
.savings-label {
display: block;
font-size: var(--font-size-sm);
font-weight: var(--font-weight-semibold);
color: var(--color-primary-dark);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: var(--spacing-2);
}
.savings-amount {
display: block;
font-size: clamp(32px, 5vw, 42px);
font-weight: var(--font-weight-extrabold);
color: var(--color-primary);
letter-spacing: -0.04em;
line-height: 1.2;
margin-bottom: var(--spacing-2);
}
.savings-monthly-context {
display: block;
font-size: var(--font-size-base);
font-weight: var(--font-weight-semibold);
color: var(--color-gray-500);
margin-bottom: var(--spacing-4);
} .room-selector-inline {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--spacing-2);
}
.room-selector-inline label {
font-size: var(--font-size-xs);
font-weight: var(--font-weight-semibold);
color: var(--color-gray-500);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.room-selector-inline .room-select-wrapper {
width: 100%;
max-width: 350px;
} .comparison-bars {
margin-bottom: var(--spacing-8);
}
.comparison-bar-item {
margin-bottom: var(--spacing-5);
}
.comparison-bar-item:last-child {
margin-bottom: 0;
}
.bar-label {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--spacing-2);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-semibold);
color: var(--color-gray-700);
}
.bar-value {
font-weight: var(--font-weight-bold);
color: var(--color-error);
font-size: var(--font-size-sm);
}
.bar-value-hub {
color: var(--color-success-dark);
}
.bar-track {
height: var(--spacing-6);
background: var(--color-gray-100);
border-radius: var(--radius-lg);
overflow: hidden;
position: relative;
}
.bar-fill {
height: 100%;
border-radius: var(--radius-lg);
transition: width var(--transition-base);
min-width: var(--spacing-1);
}
.bar-own {
background: var(--gradient-error-bar);
}
.bar-hub {
background: var(--gradient-success-bar);
} .results-summary {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--spacing-4);
padding-top: var(--spacing-6);
border-top: 1px solid var(--color-gray-200);
}
.summary-item {
text-align: center;
padding: var(--spacing-4) var(--spacing-3);
background: var(--color-gray-50);
border-radius: var(--radius-lg);
}
.summary-label {
display: block;
font-size: var(--font-size-xs);
color: var(--color-gray-500);
margin-bottom: var(--spacing-1);
font-weight: 500;
}
.summary-value {
display: block;
font-size: var(--font-size-lg);
font-weight: var(--font-weight-bold);
color: var(--color-gray-900);
}
.summary-hub {
background: var(--color-success-bg);
}
.summary-value-hub {
color: var(--color-success-dark);
}
.summary-difference {
background: var(--color-primary-transparent-10);
}
.summary-value-difference {
color: var(--color-gray-700);
font-weight: var(--font-weight-extrabold);
} .simulator-inputs {
background: var(--color-white);
border-radius: var(--radius-xl);
padding: var(--spacing-10);
border: 1px solid var(--color-gray-200);
box-shadow: var(--shadow-md);
}
.inputs-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--spacing-6);
}
.simulator-inputs h3 {
font-size: var(--font-size-xl);
font-weight: var(--font-weight-bold);
color: var(--color-gray-900);
margin: 0;
} .reset-button {
display: inline-flex;
align-items: center;
gap: var(--spacing-1);
padding: var(--spacing-2) var(--spacing-4);
font-size: var(--font-size-sm);
font-weight: 400;
color: var(--color-gray-500);
background: var(--color-gray-100);
border: 1px solid var(--color-gray-200);
border-radius: var(--radius-base);
cursor: pointer;
transition: all var(--transition-fast);
font-family: inherit;
}
.reset-button:hover {
background: var(--color-gray-200);
color: var(--color-gray-700);
border-color: var(--color-gray-300);
}
.reset-button:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
border-color: var(--color-primary);
}
.reset-button svg {
width: var(--spacing-4);
height: var(--spacing-4);
}
.inputs-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--spacing-6);
} .input-group {
border: 1px solid var(--color-gray-200);
border-radius: var(--radius-lg);
padding: var(--spacing-5);
background: var(--color-gray-50);
margin: 0;
}
.input-group legend {
font-size: var(--font-size-xs);
font-weight: var(--font-weight-bold);
color: var(--color-gray-700);
padding: 0 8px;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.input-group-sessions {
grid-column: 1 / -1;
background: linear-gradient(145deg, var(--color-primary-transparent-12) 0%, var(--color-primary-transparent-15) 100%);
border-color: var(--color-primary-transparent-20);
}
.input-field {
margin-bottom: var(--spacing-4);
}
.input-field:last-child {
margin-bottom: 0;
}
.input-field label {
display: block;
font-size: var(--font-size-sm);
font-weight: var(--font-weight-semibold);
color: var(--color-gray-700);
margin-bottom: 6px;
}
.input-wrapper {
position: relative;
display: flex;
align-items: center;
} .currency-suffix {
position: absolute;
right: var(--spacing-3);
color: var(--color-gray-500);
font-weight: var(--font-weight-semibold);
font-size: var(--font-size-sm);
pointer-events: none;
}
.input-wrapper input {
width: 100%;
padding: var(--spacing-2) var(--spacing-8) var(--spacing-2) var(--spacing-3);
font-size: var(--font-size-sm);
color: var(--color-gray-900);
background: var(--color-white);
border: 1px solid var(--color-gray-200);
border-radius: var(--radius-base);
transition: all var(--transition-fast);
font-family: inherit;
text-align: left;
} .input-wrapper input::-webkit-outer-spin-button,
.input-wrapper input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.input-wrapper input[type="number"] {
-moz-appearance: textfield;
}
.input-wrapper input:focus {
outline: none;
border-color: var(--color-primary);
background: var(--color-white);
box-shadow: 0 0 0 3px var(--color-primary-transparent-20);
}
.input-wrapper input.input-error {
border-color: var(--color-error);
box-shadow: 0 0 0 3px var(--color-error-light);
} .input-field-sessions .input-wrapper input {
padding-right: 14px;
text-align: left;
font-size: var(--font-size-base);
font-weight: var(--font-weight-semibold);
}
.input-hint {
display: block;
font-size: var(--font-size-xs);
color: var(--color-gray-500);
margin-top: 6px;
} @media (max-width: 768px) {
.cost-simulator-section {
padding: var(--spacing-14) 0;
}
.cost-simulator-header h2 {
font-size: var(--font-size-4xl);
}
.simulator-results,
.simulator-inputs {
padding: var(--spacing-6);
}
.savings-highlight {
padding: var(--spacing-6);
}
.savings-amount {
font-size: var(--font-size-4xl);
}
.results-summary {
grid-template-columns: 1fr 1fr;
gap: var(--spacing-3);
}
.results-summary .summary-item:last-child {
grid-column: 1 / -1;
}
.inputs-grid {
grid-template-columns: 1fr;
}
.input-group-sessions {
grid-column: auto;
}
.inputs-header {
flex-direction: column;
gap: var(--spacing-4);
align-items: stretch;
}
.simulator-inputs h3 {
text-align: center;
}
.reset-button {
justify-content: center;
}
}
@media (max-width: 480px) {
.cost-simulator-header h2 {
font-size: var(--font-size-3xl);
}
.cost-simulator-header p {
font-size: var(--font-size-base);
}
.simulator-results,
.simulator-inputs {
padding: var(--spacing-5);
}
.savings-highlight {
padding: var(--spacing-5);
}
.savings-amount {
font-size: var(--font-size-3xl);
}
.bar-label {
font-size: var(--font-size-sm);
}
.bar-value {
font-size: var(--font-size-sm);
}
.results-summary {
grid-template-columns: 1fr;
}
.results-summary .summary-item:last-child {
grid-column: auto;
}
} .room-select-wrapper {
position: relative;
display: inline-block;
width: 100%;
}
.room-select-wrapper select {
width: 100%;
padding: var(--spacing-3) var(--spacing-10) var(--spacing-3) var(--spacing-4);
font-size: var(--font-size-sm);
color: var(--color-gray-900);
background: var(--color-white);
border: 1px solid var(--color-gray-200);
border-radius: var(--radius-base);
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
cursor: pointer;
font-family: inherit;
}
.room-select-wrapper select:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 3px var(--color-primary-transparent-20);
}
.select-arrow {
position: absolute;
right: var(--spacing-3);
top: 50%;
transform: translateY(-50%);
width: var(--spacing-5);
height: var(--spacing-5);
pointer-events: none;
color: var(--color-gray-500);
} .simulator-cta {
text-align: center;
margin-top: var(--spacing-8);
padding-top: var(--spacing-6);
border-top: 1px solid var(--color-gray-200);
} .simulator-cta-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--spacing-2);
padding: var(--spacing-3) var(--spacing-7);
font-size: var(--font-size-base);
font-weight: 400;
color: var(--color-white);
background: var(--gradient-primary);
border: none;
border-radius: var(--radius-lg);
cursor: pointer;
text-decoration: none;
transition: all var(--transition-base);
box-shadow: 0 4px 15px var(--color-primary-transparent-20);
font-family: inherit;
}
.simulator-cta-button:hover {
transform: translateY(-2px);
box-shadow: 0 7px 20px var(--color-primary-transparent-30);
color: var(--color-white);
}
.simulator-cta-button:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.simulator-cta-button svg {
width: 18px;
height: 18px;
}
.simulator-cta-hint {
display: block;
margin-top: var(--spacing-3);
font-size: var(--font-size-xs);
color: var(--color-gray-500);
} @media (max-width: 768px) {
.simulator-toggle {
padding: var(--spacing-3) var(--spacing-6);
font-size: var(--font-size-sm);
}
.room-selector-inline .room-select-wrapper {
max-width: 100%;
}
.simulator-cta-button {
padding: var(--spacing-3) var(--spacing-6);
font-size: var(--font-size-sm);
}
}
@media (max-width: 480px) {
.simulator-cta-button {
width: 100%;
justify-content: center;
padding: var(--spacing-3) var(--spacing-5);
}
}.hub-photo-gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--spacing-4);
width: 100%;
margin: 0;
padding: 0;
list-style: none;
} @media (min-width: 768px) {
.hub-photo-gallery {
grid-template-columns: repeat(3, 1fr);
gap: var(--spacing-5);
}
} @media (min-width: 1024px) {
.hub-photo-gallery {
grid-template-columns: repeat(4, 1fr);
gap: var(--spacing-6);
}
} .hub-photo-gallery__item {
position: relative;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: var(--radius-lg);
background: var(--color-gray-100);
cursor: pointer;
transition: transform var(--transition-base), 
box-shadow var(--transition-base);
}
.hub-photo-gallery__item:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-lg);
}
.hub-photo-gallery__item:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.hub-photo-gallery__item:active {
transform: translateY(-2px);
} .hub-photo-gallery__image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform var(--transition-slow);
}
.hub-photo-gallery__item:hover .hub-photo-gallery__image {
transform: scale(1.05);
} .hub-photo-gallery__overlay {
position: absolute;
inset: 0;
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0) 0%,
rgba(0, 0, 0, 0) 50%,
rgba(0, 0, 0, 0.7) 100%
);
opacity: 0;
transition: opacity var(--transition-base);
display: flex;
align-items: flex-end;
padding: var(--spacing-4);
}
.hub-photo-gallery__item:hover .hub-photo-gallery__overlay,
.hub-photo-gallery__item:focus .hub-photo-gallery__overlay {
opacity: 1;
} .hub-photo-gallery__caption {
color: var(--color-white);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
margin: 0;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
transform: translateY(8px);
transition: transform var(--transition-base);
}
.hub-photo-gallery__item:hover .hub-photo-gallery__caption,
.hub-photo-gallery__item:focus .hub-photo-gallery__caption {
transform: translateY(0);
} .hub-photo-gallery-lightbox {
position: fixed;
inset: 0;
z-index: var(--z-modal);
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0);
opacity: 0;
visibility: hidden;
transition: opacity var(--transition-slow),
visibility var(--transition-slow),
background-color var(--transition-slow);
padding: var(--spacing-4);
cursor: zoom-out;
}
.hub-photo-gallery-lightbox.is-open {
opacity: 1;
visibility: visible;
background: rgba(0, 0, 0, 0.92);
} body.hub-photo-gallery-lightbox-open {
overflow: hidden;
} .hub-photo-gallery-lightbox__container {
position: relative;
max-width: 90vw;
max-height: 90vh;
width: auto;
height: auto;
display: flex;
align-items: center;
justify-content: center;
cursor: default;
transform: scale(0.9);
transition: transform var(--transition-slow);
}
.hub-photo-gallery-lightbox.is-open .hub-photo-gallery-lightbox__container {
transform: scale(1);
} .hub-photo-gallery-lightbox__image {
max-width: 100%;
max-height: 90vh;
width: auto;
height: auto;
display: block;
border-radius: var(--radius-base);
box-shadow: var(--shadow-xl);
opacity: 0;
transition: opacity var(--transition-base);
}
.hub-photo-gallery-lightbox__image.is-loaded {
opacity: 1;
}  .hub-photo-gallery-lightbox__close {
position: fixed;
top: var(--spacing-4);
right: var(--spacing-4);
z-index: calc(var(--z-modal) + 1);
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--radius-full);
color: var(--color-white);
font-size: var(--font-size-2xl);
line-height: 1;
cursor: pointer;
transition: background-color var(--transition-fast),
transform var(--transition-fast);
opacity: 0;
transform: translateY(-10px);
}
.hub-photo-gallery-lightbox.is-open .hub-photo-gallery-lightbox__close {
opacity: 1;
transform: translateY(0);
transition-delay: 200ms;
}
.hub-photo-gallery-lightbox__close:hover {
background: rgba(255, 255, 255, 0.25);
transform: scale(1.1);
}
.hub-photo-gallery-lightbox__close:active {
transform: scale(0.95);
}
.hub-photo-gallery-lightbox__close:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
} .hub-photo-gallery-lightbox__nav {
position: fixed;
top: 50%;
transform: translateY(-50%);
z-index: calc(var(--z-modal) + 1);
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--radius-full);
color: var(--color-white);
font-size: var(--font-size-xl);
cursor: pointer;
transition: background-color var(--transition-fast),
transform var(--transition-fast),
opacity var(--transition-fast);
opacity: 0;
}
.hub-photo-gallery-lightbox.is-open .hub-photo-gallery-lightbox__nav {
opacity: 1;
}
.hub-photo-gallery-lightbox__nav--prev {
left: var(--spacing-4);
transition-delay: 250ms;
}
.hub-photo-gallery-lightbox__nav--next {
right: var(--spacing-4);
transition-delay: 300ms;
}
.hub-photo-gallery-lightbox__nav:hover {
background: rgba(255, 255, 255, 0.25);
transform: translateY(-50%) scale(1.1);
}
.hub-photo-gallery-lightbox__nav--prev:hover {
transform: translateY(-50%) translateX(-4px) scale(1.1);
}
.hub-photo-gallery-lightbox__nav--next:hover {
transform: translateY(-50%) translateX(4px) scale(1.1);
}
.hub-photo-gallery-lightbox__nav:active {
transform: translateY(-50%) scale(0.95);
}
.hub-photo-gallery-lightbox__nav:focus {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.hub-photo-gallery-lightbox__nav:disabled {
opacity: 0.3;
cursor: not-allowed;
}
.hub-photo-gallery-lightbox__nav:disabled:hover {
background: rgba(255, 255, 255, 0.15);
transform: translateY(-50%);
} @media (max-width: 767px) {
.hub-photo-gallery-lightbox__nav,
.hub-photo-gallery-lightbox__close {
width: 40px;
height: 40px;
font-size: var(--font-size-lg);
}
.hub-photo-gallery-lightbox__nav--prev {
left: var(--spacing-2);
}
.hub-photo-gallery-lightbox__nav--next {
right: var(--spacing-2);
}
.hub-photo-gallery-lightbox__close {
top: var(--spacing-2);
right: var(--spacing-2);
}
} .hub-photo-gallery-lightbox__counter {
position: fixed;
top: var(--spacing-4);
left: 50%;
transform: translateX(-50%);
z-index: calc(var(--z-modal) + 1);
padding: var(--spacing-2) var(--spacing-4);
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--radius-full);
color: var(--color-white);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
letter-spacing: var(--letter-spacing-wide);
opacity: 0;
transform: translateX(-50%) translateY(-10px);
transition: opacity var(--transition-base),
transform var(--transition-base);
}
.hub-photo-gallery-lightbox.is-open .hub-photo-gallery-lightbox__counter {
opacity: 1;
transform: translateX(-50%) translateY(0);
transition-delay: 150ms;
}
@media (max-width: 767px) {
.hub-photo-gallery-lightbox__counter {
top: var(--spacing-2);
padding: var(--spacing-1) var(--spacing-3);
font-size: var(--font-size-xs);
}
} .hub-photo-gallery-lightbox__caption {
position: fixed;
bottom: var(--spacing-4);
left: 50%;
transform: translateX(-50%);
z-index: calc(var(--z-modal) + 1);
max-width: 600px;
padding: var(--spacing-3) var(--spacing-5);
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--radius-lg);
color: var(--color-white);
font-size: var(--font-size-base);
font-weight: var(--font-weight-medium);
text-align: center;
opacity: 0;
transform: translateX(-50%) translateY(10px);
transition: opacity var(--transition-base),
transform var(--transition-base);
}
.hub-photo-gallery-lightbox.is-open .hub-photo-gallery-lightbox__caption {
opacity: 1;
transform: translateX(-50%) translateY(0);
transition-delay: 200ms;
}
@media (max-width: 767px) {
.hub-photo-gallery-lightbox__caption {
bottom: var(--spacing-2);
max-width: calc(100% - var(--spacing-8));
padding: var(--spacing-2) var(--spacing-4);
font-size: var(--font-size-sm);
}
} .hub-photo-gallery-lightbox__loading {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
color: var(--color-white);
}
.hub-photo-gallery-lightbox__spinner {
width: 48px;
height: 48px;
border: 3px solid rgba(255, 255, 255, 0.2);
border-top-color: var(--color-primary);
border-radius: var(--radius-full);
animation: hub-spinner-rotate 0.8s linear infinite;
}
@keyframes hub-spinner-rotate {
to {
transform: rotate(360deg);
}
} .hub-photo-gallery-lightbox__container.is-swiping {
transition: none;
}
.hub-photo-gallery-lightbox__container.is-swiping-left {
transform: translateX(-50px) scale(0.98);
}
.hub-photo-gallery-lightbox__container.is-swiping-right {
transform: translateX(50px) scale(0.98);
} .hub-photo-gallery-lightbox__hints {
position: fixed;
bottom: var(--spacing-20);
left: 50%;
transform: translateX(-50%);
z-index: calc(var(--z-modal) + 1);
display: flex;
gap: var(--spacing-3);
opacity: 0;
pointer-events: none;
transition: opacity var(--transition-base);
}
.hub-photo-gallery-lightbox.is-open .hub-photo-gallery-lightbox__hints {
opacity: 0.6;
transition-delay: 1s;
}
.hub-photo-gallery-lightbox__hints:hover {
opacity: 0;
}
.hub-photo-gallery-lightbox__hint {
padding: var(--spacing-1) var(--spacing-2);
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--radius-sm);
color: var(--color-white);
font-size: var(--font-size-xs);
font-weight: var(--font-weight-medium);
}
@media (max-width: 767px) {
.hub-photo-gallery-lightbox__hints {
display: none;
}
}  .hub-photo-gallery__item:focus-visible {
outline: 3px solid var(--color-primary);
outline-offset: 3px;
} @media (prefers-reduced-motion: reduce) {
.hub-photo-gallery__item,
.hub-photo-gallery__image,
.hub-photo-gallery__overlay,
.hub-photo-gallery__caption,
.hub-photo-gallery-lightbox,
.hub-photo-gallery-lightbox__container,
.hub-photo-gallery-lightbox__image,
.hub-photo-gallery-lightbox__close,
.hub-photo-gallery-lightbox__nav,
.hub-photo-gallery-lightbox__counter,
.hub-photo-gallery-lightbox__caption {
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
}
} .hub-photo-gallery__sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}