/*!
 * Daewoo Appliances — main.css
 * The theme's only custom stylesheet. Loads after Bootstrap 5.3 and re-skins it through CSS variables.
 * Sizes are fluid (clamp) so very few media queries are needed. Fonts are declared in theme.json.
 */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--dw-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--dw-font-display: "Inter Display", var(--dw-font-sans);
	--dw-brand: #0057b8;
	--dw-brand-700: #00479a;
	--dw-brand-50: #eaf2fc;
	--dw-ink: #0a0b0f;
	--dw-ink-2: #15171d;
	--dw-ink-3: #262932;
	--dw-body: #4b505b;
	--dw-muted: #8a8f99;
	--dw-line: #e6e8ec;
	--dw-surface: #f3f4f6;
	--dw-surface-2: #e9ebef;
	--dw-radius: 20px;
	--dw-radius-lg: 28px;
	--dw-pill: 999px;
	--dw-ease: cubic-bezier(.22, 1, .36, 1);
	--dw-shadow: 0 18px 40px -20px rgba(10, 11, 15, .28);
	--dw-container: 1320px;
	--dw-gutter: clamp(20px, 13px + 1.9vw, 40px);
	--dw-header-h: clamp(68px, 60px + 1.5vw, 80px);
	--dw-section: clamp(72px, 50px + 5.3vw, 128px);
	--dw-space: clamp(48px, 40px + 2vw, 64px);

	--bs-body-font-family: var(--dw-font-sans);
	--bs-body-line-height: 1.6;
	--bs-body-color: var(--dw-ink);
	--bs-body-color-rgb: 10, 11, 15;
	--bs-emphasis-color: var(--dw-ink);
	--bs-secondary-color: var(--dw-body);
	--bs-tertiary-color: var(--dw-muted);
	--bs-primary: #0057b8;
	--bs-primary-rgb: 0, 87, 184;
	--bs-dark-rgb: 10, 11, 15;
	--bs-light-rgb: 243, 244, 246;
	--bs-border-color: var(--dw-line);
	--bs-link-color: var(--dw-brand);
	--bs-link-color-rgb: 0, 87, 184;
	--bs-link-hover-color: var(--dw-brand-700);
	--bs-link-hover-color-rgb: 0, 71, 154;
	--bs-focus-ring-color: rgba(0, 87, 184, .35);
}

/* 2. Base ------------------------------------------------------------------ */
html { scroll-padding-top: calc(var(--dw-header-h) + 16px); }
body { letter-spacing: -.005em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 { margin: 0; color: inherit; text-wrap: balance; }
p { text-wrap: pretty; }
a { text-decoration: none; }
b, strong { font-weight: 600; }
::selection { background: var(--dw-brand); color: #fff; }
:focus-visible { outline: 2px solid var(--dw-brand); outline-offset: 3px; }
.icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.dw-skip { position: fixed; top: -100px; left: 16px; z-index: 2000; padding: 12px 18px; border-radius: var(--dw-pill); background: var(--dw-ink); color: #fff; font-weight: 500; transition: top .2s var(--dw-ease); }
.dw-skip:focus { top: 16px; color: #fff; }

/* 3. Layout & helpers ------------------------------------------------------ */
.dw-container { width: 100%; max-width: calc(var(--dw-container) + var(--dw-gutter) * 2); margin-inline: auto; padding-inline: var(--dw-gutter); }
.dw-narrow { max-width: calc(880px + var(--dw-gutter) * 2); }
.dw-reading { max-width: calc(760px + var(--dw-gutter) * 2); }
.dw-mw-embed { max-width: calc(1000px + var(--dw-gutter) * 2); }
.dw-section { padding-block: var(--dw-section); }
.dw-section-bottom { padding-bottom: var(--dw-section); }
.dw-page-top { padding-top: calc(var(--dw-header-h) + var(--dw-space) + 8px); padding-bottom: var(--dw-space); }
.dw-content { padding-block: var(--dw-space); }
.dw-mt-lg { margin-top: var(--dw-space); }
.dw-mw-sm { max-width: 32rem; }
.dw-mw-md { max-width: 720px; }
.dw-mw-lg { max-width: 900px; }
.dw-min-h { min-height: 420px; }
.dw-min-h-xs { min-height: 260px; }
.dw-min-h-sm { min-height: 320px; }
.dw-thanks { min-height: 80svh; padding-bottom: var(--dw-section); }
.dw-tight { letter-spacing: -.02em; }
.dw-tabular { font-variant-numeric: tabular-nums; }
.bg-ink { background-color: var(--dw-ink) !important; }
.bg-ink-2 { background-color: var(--dw-ink-2) !important; }
.bg-surface { background-color: var(--dw-surface) !important; }
.bg-brand-soft { background-color: var(--dw-brand-50) !important; }
.text-white-70 { color: rgba(255, 255, 255, .7) !important; }
.text-white-60 { color: rgba(255, 255, 255, .6) !important; }
.border-white-10 { border-color: rgba(255, 255, 255, .1) !important; }
.ratio-16x10 { --bs-aspect-ratio: 62.5%; }

/* 4. Typography ------------------------------------------------------------ */
.dw-display, .dw-h1, .dw-h2, .dw-h2-sm, .dw-stat, .dw-num, .dw-num-xl { font-family: var(--dw-font-display); font-weight: 600; }
.dw-display { font-size: clamp(42px, 30px + 3.19vw, 76px); line-height: 1.04; letter-spacing: -.045em; }
.dw-h1 { font-size: clamp(38px, 28.8px + 2.44vw, 64px); line-height: 1.06; letter-spacing: -.04em; }
.dw-h2 { font-size: clamp(34px, 26.2px + 2.07vw, 56px); line-height: 1.08; letter-spacing: -.04em; }
.dw-h2-sm { font-size: clamp(30px, 25px + 1.31vw, 44px); line-height: 1.1; letter-spacing: -.035em; }
.dw-h3 { font-size: clamp(22px, 19.9px + .56vw, 28px); line-height: 1.25; font-weight: 600; letter-spacing: -.025em; }
.dw-h4 { font-size: 18px; line-height: 1.35; font-weight: 600; letter-spacing: -.015em; }
.dw-lead { font-size: clamp(17px, 15.9px + .28vw, 20px); line-height: 1.65; color: var(--dw-body); }
.dw-text { font-size: 15px; line-height: 1.65; }
.dw-stat, .dw-num, .dw-num-xl { line-height: 1; font-variant-numeric: tabular-nums; }
.dw-stat { font-size: clamp(44px, 32px + 2.5vw, 64px); letter-spacing: -.04em; }
.dw-num { font-size: 52px; letter-spacing: -.045em; }
.dw-num-md { font-size: 40px; }
.dw-num-xl { font-size: clamp(88px, 70px + 4vw, 128px); letter-spacing: -.05em; }
.dw-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border: 1px solid var(--dw-line); border-radius: var(--dw-pill); background: #fff; color: var(--dw-ink); font-size: 14px; font-weight: 500; line-height: 1.4; }
.dw-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--dw-brand); }
.dw-eyebrow-dark { border-color: rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .05); color: #fff; }
.dw-eyebrow-dark::before { background: #6ea8ff; }

/* 5. Buttons (Bootstrap .btn re-skinned as pills) -------------------------- */
.btn {
	--bs-btn-padding-x: 1.5rem;
	--bs-btn-padding-y: 0;
	--bs-btn-font-size: 15px;
	--bs-btn-font-weight: 500;
	--bs-btn-line-height: 1;
	--bs-btn-border-radius: var(--dw-pill);
	--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 87, 184, .3);
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 48px; white-space: nowrap;
	transition: background-color .3s var(--dw-ease), color .3s var(--dw-ease), border-color .3s var(--dw-ease), transform .2s var(--dw-ease);
}
.btn:active { transform: scale(.98); }
.btn .icon { width: 18px; height: 18px; transition: transform .3s var(--dw-ease); }
.btn:hover .icon-shift { transform: translateX(2px); }
.btn-sm { --bs-btn-padding-x: 1.25rem; --bs-btn-font-size: 14px; height: 40px; }
.btn-lg { --bs-btn-padding-x: 1.75rem; --bs-btn-font-size: 16px; height: 56px; }
.btn-round { width: 48px; --bs-btn-padding-x: 0; }
.btn-primary { --bs-btn-bg: var(--dw-brand); --bs-btn-border-color: var(--dw-brand); --bs-btn-hover-bg: var(--dw-brand-700); --bs-btn-hover-border-color: var(--dw-brand-700); --bs-btn-active-bg: var(--dw-brand-700); --bs-btn-active-border-color: var(--dw-brand-700); --bs-btn-disabled-bg: var(--dw-brand); --bs-btn-disabled-border-color: var(--dw-brand); }
.btn-dark { --bs-btn-bg: var(--dw-ink); --bs-btn-border-color: var(--dw-ink); --bs-btn-hover-bg: var(--dw-ink-3); --bs-btn-hover-border-color: var(--dw-ink-3); --bs-btn-active-bg: var(--dw-ink-3); --bs-btn-active-border-color: var(--dw-ink-3); }
.btn-light, .btn-glass, .btn-outline-light { --bs-btn-hover-bg: #fff; --bs-btn-hover-border-color: #fff; --bs-btn-hover-color: var(--dw-ink); --bs-btn-active-bg: #fff; --bs-btn-active-color: var(--dw-ink); }
.btn-light { --bs-btn-bg: #fff; --bs-btn-border-color: #fff; --bs-btn-color: var(--dw-ink); --bs-btn-hover-bg: rgba(255, 255, 255, .85); --bs-btn-hover-border-color: transparent; }
.btn-outline-light { --bs-btn-color: #fff; --bs-btn-border-color: rgba(255, 255, 255, .4); }
.btn-glass { --bs-btn-color: #fff; --bs-btn-border-color: rgba(255, 255, 255, .25); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.btn-outline-dark { --bs-btn-color: var(--dw-ink); --bs-btn-border-color: rgba(10, 11, 15, .15); --bs-btn-hover-bg: var(--dw-ink); --bs-btn-hover-border-color: var(--dw-ink); --bs-btn-active-bg: var(--dw-ink); --bs-btn-active-border-color: var(--dw-ink); }

/* 6. Header + offcanvas ---------------------------------------------------- */
.site-header { z-index: 1040; color: var(--dw-ink); background: rgba(255, 255, 255, .88); border-bottom: 1px solid var(--dw-line); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); transition: background-color .3s var(--dw-ease), border-color .3s var(--dw-ease), color .3s var(--dw-ease); }
.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.site-header__bar { height: var(--dw-header-h); }
.site-header__logo { width: auto; height: clamp(22px, 20px + .5vw, 26px); }
.site-header__logo--light { display: none; }
.is-inverted { filter: brightness(0) invert(1); }
.site-header__menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.site-header__link { display: inline-flex; align-items: center; height: 40px; padding: 0 14px; border-radius: var(--dw-pill); color: inherit; font-size: 15px; font-weight: 500; opacity: .75; transition: opacity .2s; }
.site-header__link:hover, .site-header__link[aria-current="page"] { color: inherit; opacity: 1; }
.site-header__toggle { width: 44px; height: 44px; margin-right: -8px; border: 0; border-radius: 50%; background: transparent; color: inherit; }
.site-header__toggle .icon { width: 24px; height: 24px; }
.site-header[data-theme="overlay"] { background: transparent; border-color: transparent; color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
.site-header[data-theme="overlay"] .site-header__logo--dark { display: none; }
.site-header[data-theme="overlay"] .site-header__logo--light { display: block; }
.site-header[data-theme="overlay"] .site-header__cta { --bs-btn-bg: #fff; --bs-btn-border-color: #fff; --bs-btn-color: var(--dw-ink); --bs-btn-hover-bg: rgba(255, 255, 255, .85); --bs-btn-hover-border-color: transparent; --bs-btn-hover-color: var(--dw-ink); }
.dw-offcanvas { --bs-offcanvas-width: 100%; --bs-offcanvas-padding-x: var(--dw-gutter); }
.dw-offcanvas .offcanvas-header { height: var(--dw-header-h); border-bottom: 1px solid var(--dw-line); }
.dw-offcanvas__link { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid var(--dw-line); color: var(--dw-ink); font-size: 28px; font-weight: 600; letter-spacing: -.03em; }
.dw-offcanvas__link[aria-current="page"] { color: var(--dw-brand); }
.dw-offcanvas__link .icon { width: 24px; height: 24px; color: var(--dw-muted); }

/* 7. Cards, media, motion -------------------------------------------------- */
.dw-card { position: relative; overflow: hidden; border-radius: var(--dw-radius-lg); }
.dw-card-sm { overflow: hidden; border-radius: var(--dw-radius); }
.dw-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
.dw-media { background: var(--dw-surface-2); }
.dw-media-dark { background: var(--dw-ink-2); }
.dw-zoom img { transition: transform .7s var(--dw-ease); }
.dw-zoom:hover img, .dw-zoom:focus-within img { transform: scale(1.05); }
.dw-fill, .dw-shade, .dw-shade-hero { position: absolute; inset: 0; }
.dw-shade { background: linear-gradient(to top, rgba(10, 11, 15, .88), rgba(10, 11, 15, .25) 55%, transparent); }
.dw-shade-hero { background: linear-gradient(to top, rgba(10, 11, 15, .9), rgba(10, 11, 15, .35) 50%, rgba(10, 11, 15, .45)); }
.dw-pad { padding: clamp(28px, 20px + 2vw, 40px); }
.dw-icon-badge { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; }
.dw-icon-badge .icon { width: 24px; height: 24px; }
.dw-icon-badge--lg { width: 80px; height: 80px; }
.dw-icon-badge--lg .icon { width: 36px; height: 36px; }
.dw-card-hover { transition: box-shadow .5s var(--dw-ease); }
.dw-card-hover:hover { box-shadow: var(--dw-shadow); }
.dw-type-card { container-type: inline-size; min-height: 360px; }
.dw-type-card__title { font: 600 min(13.5cqw, 88px)/.98 var(--dw-font-display); letter-spacing: -.045em; }
.dw-glow { position: absolute; top: -96px; right: -96px; width: 288px; height: 288px; border-radius: 50%; background: rgba(255, 255, 255, .1); filter: blur(40px); pointer-events: none; }
.dw-thumb { position: absolute; top: 28px; right: 28px; width: clamp(112px, 100px + 2vw, 128px); aspect-ratio: 1; overflow: hidden; border-radius: var(--dw-radius); box-shadow: 0 0 0 1px rgba(255, 255, 255, .2); }
.dw-banner { min-height: clamp(460px, 380px + 17vw, 620px); }
.dw-rise { animation: dw-rise .9s var(--dw-ease) both; }
.dw-rise--late { animation-delay: .25s; }
.js [data-reveal] { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity .9s var(--dw-ease), transform .9s var(--dw-ease); }
.js [data-reveal="fade"] { transform: none; }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
.js [data-reveal-delay="1"] { transition-delay: .08s; }
.js [data-reveal-delay="2"] { transition-delay: .16s; }
.js [data-reveal-delay="3"] { transition-delay: .24s; }
@keyframes dw-rise { from { opacity: 0; transform: translate3d(0, 24px, 0); } }
@keyframes dw-float { 50% { transform: translateY(-12px); } }
@keyframes dw-spin { to { transform: rotate(360deg); } }

/* 8. Hero slideshow -------------------------------------------------------- */
.dw-hero { height: 100svh; min-height: clamp(620px, 560px + 10vw, 720px); max-height: 1080px; padding-top: calc(var(--dw-header-h) + 40px); padding-bottom: clamp(40px, 30px + 2.5vw, 64px); }
.dw-hero-sub { min-height: clamp(600px, 480px + 22vw, 800px); padding-top: calc(var(--dw-header-h) + 64px); padding-bottom: clamp(48px, 34px + 3vw, 80px); }
.dw-slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s var(--dw-ease), visibility 0s linear 1.2s; }
.dw-slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
.dw-slide img { transform: scale(1.08); transition: transform 7s linear; }
.dw-slide.is-active img { transform: none; }
.dw-dot { width: 28px; height: 3px; padding: 0; border: 0; border-radius: 3px; background: rgba(255, 255, 255, .35); cursor: pointer; transition: background-color .3s, width .4s var(--dw-ease); }
.dw-dot[aria-current="true"] { width: 48px; background: #fff; }

/* 9. Carousel, stats, regions, accordion ---------------------------------- */
.dw-track { display: flex; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.dw-track::-webkit-scrollbar { display: none; }
.dw-track > * { flex-shrink: 0; scroll-snap-align: start; }
.dw-slide-card { width: 84%; }
[data-carousel-prev]:disabled, [data-carousel-next]:disabled { opacity: .35; }
.dw-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.dw-stat-item { display: flex; flex-direction: column; padding: clamp(40px, 32px + 2vw, 56px) 16px clamp(40px, 32px + 2vw, 56px) 0; }
.dw-stat-item dd { order: -1; margin: 0; }
.dw-stat-item:nth-child(even) { padding-left: clamp(20px, 12px + 2vw, 32px); border-left: 1px solid var(--dw-line); }
.dw-stat-item:nth-child(n + 3) { border-top: 1px solid var(--dw-line); }
.dw-regions { margin: 0; padding: 0; list-style: none; }
.dw-regions li { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--dw-line); font-weight: 500; }
.dw-regions span { width: 32px; color: var(--dw-muted); font-size: 14px; font-weight: 400; font-variant-numeric: tabular-nums; }
.dw-accordion {
	--bs-accordion-bg: transparent;
	--bs-accordion-border-color: var(--dw-line);
	--bs-accordion-btn-padding-x: 0;
	--bs-accordion-btn-padding-y: 24px;
	--bs-accordion-body-padding-x: 0;
	--bs-accordion-body-padding-y: 0;
	--bs-accordion-active-bg: transparent;
	--bs-accordion-active-color: var(--dw-ink);
	--bs-accordion-btn-focus-box-shadow: none;
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0b0f' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--bs-accordion-btn-icon-width: 40px;
	--bs-accordion-btn-icon-transform: rotate(45deg);
	border-block: 1px solid var(--dw-line);
}
.dw-accordion .accordion-button { gap: 24px; color: var(--dw-ink); font-size: clamp(18px, 17px + .3vw, 20px); font-weight: 500; box-shadow: none; }
.dw-accordion .accordion-button::after { border: 1px solid var(--dw-line); border-radius: 50%; background-position: center; background-size: 18px; }
.dw-accordion .accordion-button:not(.collapsed)::after { background-color: var(--dw-ink); border-color: var(--dw-ink); }
.dw-accordion .accordion-body p { max-width: 42rem; margin: 0; padding-bottom: 24px; color: var(--dw-body); line-height: 1.65; }

/* 10. Long-form content ---------------------------------------------------- */
.dw-prose { color: var(--dw-body); font-size: 17px; line-height: 1.75; }
.dw-prose > * { margin-block: 0; }
.dw-prose > * + * { margin-top: 20px; }
.dw-prose :is(h2, h3) { margin-top: 48px; color: var(--dw-ink); letter-spacing: -.03em; }
.dw-prose h2 { font: 600 clamp(26px, 24.6px + .38vw, 30px)/1.2 var(--dw-font-display); }
.dw-prose h3 { font-size: 21px; font-weight: 600; }
.dw-prose :is(ul, ol) { padding-left: 20px; }
.dw-prose li + li { margin-top: 8px; }
.dw-prose li::marker { color: var(--dw-brand); }
.dw-prose strong { color: var(--dw-ink); }
.dw-prose a { font-weight: 500; text-decoration: underline; text-decoration-color: rgba(0, 87, 184, .3); text-underline-offset: 4px; }
.dw-prose img { height: auto; border-radius: var(--dw-radius); }
.dw-prose figcaption { margin-top: 10px; color: var(--dw-muted); font-size: 14px; text-align: center; }
.dw-prose blockquote { padding-left: 20px; border-left: 3px solid var(--dw-brand); color: var(--dw-ink); font-size: 20px; }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-inline: auto; }
.dw-page-links { margin-top: 32px; font-weight: 500; }

/* 11. Blog listing --------------------------------------------------------- */
.dw-pagination { margin-top: var(--dw-space); }
.dw-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.dw-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--dw-line); border-radius: var(--dw-pill); color: var(--dw-ink); font-weight: 500; }
.dw-pagination .current, .dw-pagination a.page-numbers:hover { background: var(--dw-ink); border-color: var(--dw-ink); color: #fff; }

/* 12. Contact page + form -------------------------------------------------- */
.dw-info li { display: flex; align-items: flex-start; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--dw-line); }
.dw-info li:first-child { padding-top: 0; }
.dw-info h2 { margin-bottom: 4px; }
.dw-info a { color: var(--dw-body); }
.dw-info a:hover { color: var(--dw-brand); }
.dw-social { --s: 44px; --b: var(--dw-line); --r: 12px; --hover-bg: var(--dw-ink); --hover-c: #fff; display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.dw-social a { display: inline-flex; align-items: center; justify-content: center; width: var(--s); height: var(--s); border: 1px solid var(--b); border-radius: var(--r); color: inherit; transition: background-color .2s, color .2s, border-color .2s; }
.dw-social a:hover { background: var(--hover-bg); border-color: var(--hover-bg); color: var(--hover-c); }
.dw-social .icon { width: 16px; height: 16px; }
.dw-form .form-label { margin-bottom: 8px; font-size: 14px; font-weight: 500; }
.dw-form :is(.form-control, .form-select) { min-height: 52px; padding: 12px 18px; border-color: var(--dw-line); border-radius: 14px; background-color: #fff; font-size: 15px; }
.dw-form .form-select { padding-right: 44px; }
.dw-form :is(.form-control, .form-select):focus { border-color: var(--dw-brand); box-shadow: 0 0 0 4px rgba(0, 87, 184, .12); }
.dw-form .form-check-input { width: 1.15em; height: 1.15em; margin-top: .25em; }
.dw-form .form-check-input:checked { background-color: var(--dw-brand); border-color: var(--dw-brand); }
.dw-form .alert { border-radius: 14px; }
.dw-form[aria-busy="true"] { opacity: .7; pointer-events: none; }
.dw-form__note { color: var(--dw-muted); font-size: 12px; line-height: 1.5; }
.dw-form__note a { color: inherit; text-decoration: underline; }
.dw-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.grecaptcha-badge { visibility: hidden; }
.dw-embed { display: block; width: 100%; height: 860px; border: 0; }
.dw-embed--form { height: 1600px; }

/* 13. Shop Online — Coming Soon -------------------------------------------- */
.dw-soon { position: relative; display: flex; align-items: center; min-height: 100svh; overflow: hidden; padding-block: calc(var(--dw-header-h) + 48px) 72px; border-bottom: 1px solid rgba(255, 255, 255, .08); background: radial-gradient(55% 60% at 85% 35%, rgba(0, 87, 184, .55), transparent 70%), radial-gradient(40% 45% at 0 100%, rgba(0, 87, 184, .3), transparent 70%), var(--dw-ink); }
.dw-soon__rings { top: 8%; right: -6%; width: clamp(280px, 40vw, 620px); color: rgba(255, 255, 255, .1); animation: dw-spin 80s linear infinite; }
.dw-soon__title span { background: linear-gradient(90deg, #fff, #8ab8ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dw-soon__badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, .15); border-radius: var(--dw-pill); background: rgba(255, 255, 255, .05); font-size: 14px; font-weight: 500; }
.dw-soon__pulse { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; animation: dw-pulse 2s infinite; }
@keyframes dw-pulse { 0% { box-shadow: 0 0 0 0 rgba(74, 222, 128, .6); } 70%, 100% { box-shadow: 0 0 0 10px rgba(74, 222, 128, 0); } }
.dw-countdown { display: flex; flex-wrap: wrap; gap: 10px; }
.dw-countdown div { min-width: 76px; padding: 14px 10px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; background: rgba(255, 255, 255, .05); text-align: center; }
.dw-countdown b { display: block; font: 600 30px/1 var(--dw-font-display); font-variant-numeric: tabular-nums; }
.dw-countdown span { display: block; margin-top: 6px; color: rgba(255, 255, 255, .6); font-size: 12px; }
.dw-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dw-chips li { padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .15); border-radius: var(--dw-pill); color: rgba(255, 255, 255, .8); font-size: 13px; }
.dw-collage { position: relative; max-width: 560px; aspect-ratio: 1; margin-inline: auto; }
.dw-collage__item { position: absolute; overflow: hidden; border-radius: var(--dw-radius-lg); outline: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .8); animation: dw-float 7s ease-in-out infinite; }
.dw-collage__item:nth-child(1) { top: 14%; left: 0; width: 70%; height: 42%; }
.dw-collage__item:nth-child(2) { top: 0; right: 0; width: 40%; aspect-ratio: 1; animation-delay: -2s; }
.dw-collage__item:nth-child(3) { bottom: 6%; left: 6%; width: 28%; aspect-ratio: 1; animation-delay: -4s; }
.dw-collage__item:nth-child(4) { right: 4%; bottom: 2%; width: 40%; aspect-ratio: 1; animation-delay: -1s; }
.dw-collage__stat { position: absolute; top: 60%; left: 32%; z-index: 1; margin: 0; padding: 14px 18px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 18px; background: rgba(255, 255, 255, .1); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.dw-collage__stat b { display: block; font: 600 26px/1 var(--dw-font-display); }
.dw-collage__stat span { color: rgba(255, 255, 255, .7); font-size: 12px; }
.dw-404 { margin: 0 0 8px; background: linear-gradient(180deg, var(--dw-ink), var(--dw-brand)); -webkit-background-clip: text; background-clip: text; color: transparent; font: 600 clamp(96px, 60px + 12vw, 200px)/1 var(--dw-font-display); letter-spacing: -.06em; }

/* 14. Footer --------------------------------------------------------------- */
.site-footer { position: relative; overflow: hidden; background: var(--dw-ink); color: rgba(255, 255, 255, .7); font-size: 14px; }
.site-footer :where(a) { color: inherit; transition: color .2s, background-color .2s, transform .3s var(--dw-ease); }
.site-footer :where(a:hover, a[aria-current="page"]) { color: #fff; }
.site-footer__top { position: relative; padding-block: clamp(56px, 40px + 4vw, 88px) clamp(72px, 40px + 7vw, 128px); }
.site-footer__title { max-width: 12ch; margin: 0; color: #fff; font-size: clamp(28px, 25px + .75vw, 36px); line-height: 1.15; letter-spacing: -.03em; }
.site-footer__pill { display: inline-flex; align-items: center; gap: 10px; height: 40px; margin-top: 28px; padding: 0 22px; border-radius: var(--dw-pill); background: #fff; color: var(--dw-ink); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.site-footer__pill::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.site-footer__pill:hover { background: var(--dw-brand); color: #fff; }
.site-footer__heading { margin-bottom: 22px; color: #fff; font-size: 17px; font-weight: 500; letter-spacing: -.01em; }
.site-footer__list, .site-footer__contact, .site-footer__legal { margin: 0; padding: 0; list-style: none; }
.site-footer__list { display: grid; gap: 12px; }
.site-footer__list a { display: inline-flex; align-items: center; gap: 10px; }
.site-footer__list a::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.site-footer__contact { display: grid; gap: 18px; color: rgba(255, 255, 255, .85); font-weight: 500; }
.site-footer__contact li { display: flex; align-items: flex-start; gap: 14px; }
.site-footer__contact li > :last-child { padding-top: 6px; }
.site-footer__ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; height: 34px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 8px; color: #fff; }
.site-footer__ico .icon { width: 16px; height: 16px; }
.dw-rings { position: absolute; fill: none; stroke-width: 1; pointer-events: none; }
.site-footer__rings { right: -40px; bottom: -40px; width: clamp(160px, 18vw, 240px); color: rgba(255, 255, 255, .14); }
.site-footer__cta { padding-block: clamp(28px, 20px + 2vw, 40px); border-block: 1px solid rgba(255, 255, 255, .12); }
.site-footer__big { margin: 0; color: #fff; font-size: clamp(48px, 31px + 4.5vw, 96px); line-height: 1; letter-spacing: -.045em; }
.site-footer__mail { color: #fff; font-size: clamp(18px, 14.5px + .94vw, 28px); font-weight: 500; letter-spacing: -.02em; overflow-wrap: anywhere; }
.site-footer__circle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: clamp(64px, 50px + 3.5vw, 100px); aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; color: #fff; }
.site-footer__circle .icon { width: 32%; height: 32%; }
.site-footer__circle:hover { background: #fff; color: var(--dw-ink); transform: rotate(45deg); }
.site-footer__bottom { display: grid; align-items: center; justify-items: center; gap: 20px; padding-block: 24px; text-align: center; }
.site-footer__copy { margin: 0; font-size: 13px; }
.site-footer__social { --s: 38px; --b: rgba(255, 255, 255, .2); --r: 0; --hover-bg: #fff; --hover-c: var(--dw-ink); color: #fff; }
.site-footer__social .icon { width: 14px; height: 14px; }
.site-footer__legal { display: flex; flex-wrap: wrap; justify-content: center; color: #fff; font-size: 13px; font-weight: 500; }
.site-footer__legal li + li::before { content: "|"; margin: 0 10px; opacity: .5; }

/* 15. Breakpoints (Bootstrap md 768 / lg 992 / xl 1200) -------------------- */
@media (min-width: 768px) {
	.dw-slide-card { width: 46%; }
}
@media (min-width: 992px) {
	.site-footer__bottom { grid-template-columns: 1fr auto 1fr; }
	.site-footer__copy { justify-self: start; }
	.site-footer__bottom > nav { justify-self: end; }
}
@media (min-width: 1200px) {
	.dw-pad-lg { padding: 48px; }
	.dw-track { gap: 20px; }
	.dw-slide-card { width: calc((100% - 40px) / 3); }
	.dw-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dw-stat-item:nth-child(n + 3) { border-top: 0; }
	.dw-stat-item + .dw-stat-item { padding-left: 32px; border-left: 1px solid var(--dw-line); }
	.dw-sticky { position: sticky; top: calc(var(--dw-header-h) + 32px); }
}
@media (max-width: 600px) {
	.admin-bar .site-header { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.js [data-reveal] { opacity: 1; transform: none; }
}
