.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; }.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;
}