/* ==========================================================================
   Owl design layer v2 — "InternetOWL" identity: deep navy, clean white, savings green.
   Loaded after main.css; overrides tokens and restyles components.
   ========================================================================== */
html:root {
	--owl-brand: #0b1b3a;
	--owl-brand-dark: #07122a;
	--owl-brand-soft: #eef2fb;
	--owl-accent: #12a150;
	--owl-accent-dark: #0d8040;
	--owl-accent-soft: #e6f6ed;
	--owl-ink: #0b1220;
	--owl-ink-2: #3b465a;
	--owl-muted: #6b7587;
	--owl-line: #e3e8f0;
	--owl-bg: #f5f7fb;
	--owl-hot: #ff6a3d;
	--owl-radius: 16px;
	--owl-radius-sm: 12px;
	--owl-shadow: 0 1px 2px rgba(11, 27, 58, .05), 0 6px 20px rgba(11, 27, 58, .06);
	--owl-shadow-lg: 0 18px 48px rgba(11, 27, 58, .18);
	--owl-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--owl-max: 1240px;
}
body { background: var(--owl-bg); font-feature-settings: "cv11", "ss01"; }
h1, h2, h3 { letter-spacing: -.02em; }
a { color: var(--owl-brand); }
a:hover { color: var(--owl-accent-dark); }
:focus-visible { outline-color: color-mix(in srgb, var(--owl-accent) 60%, transparent); }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Buttons */
.owl-btn--primary { background: var(--owl-accent); box-shadow: 0 1px 0 rgba(255,255,255,.2) inset, 0 4px 12px rgba(18,161,80,.28); }
.owl-btn--primary:hover { background: var(--owl-accent-dark); }
.owl-btn--ghost:hover { border-color: var(--owl-brand); color: var(--owl-brand); }
.owl-btn--code { background: var(--owl-brand); border-radius: 12px; }
.owl-btn--code:hover { background: var(--owl-brand-dark); }
.owl-code-peek { border-color: var(--owl-accent); color: var(--owl-brand); }

/* ---------- Header ---------- */
.owl-announce { background: var(--owl-brand); }
.owl-header { background: #fff; border-bottom: 1px solid var(--owl-line); }
@media (min-width: 901px) { .owl-header { background: rgba(255,255,255,.9); backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px); } }
.owl-header-inner { min-height: 72px; gap: 28px; }
.owl-logo img { max-height: 40px; }
.owl-header-search { max-width: 420px; margin: 0; }
.owl-header .owl-search { background: var(--owl-bg); border-color: transparent; padding: 3px 3px 3px 14px; }
.owl-header .owl-search .owl-btn { display: none; }
.owl-header .owl-search:focus-within { background: #fff; border-color: var(--owl-accent); box-shadow: 0 0 0 4px var(--owl-accent-soft); }
.owl-header .owl-search input { padding: 10px 6px; font-size: 15px; }
.owl-nav { border: 0; flex: 1; min-width: 0; }
.owl-header-inner { position: relative; flex-wrap: nowrap; }
.owl-nav > .owl-container { padding: 0; max-width: none; position: static; }
@media (min-width: 901px) {
	.owl-menu > li.has-mega > .owl-mega { top: calc(100% + 14px); }
	.owl-header-search { width: 280px; flex: none; margin: 0; }
	.owl-header-account { margin-left: 0; }
	.owl-menu { flex-wrap: nowrap; }
}
.owl-menu a { padding: 10px 14px; border-radius: 10px; color: var(--owl-ink-2); font-weight: 600; }
.owl-menu a:hover, .owl-menu .current-menu-item > a { color: var(--owl-brand); background: var(--owl-brand-soft); }
.owl-submenu, .owl-mega { border: 1px solid var(--owl-line); border-radius: var(--owl-radius); box-shadow: var(--owl-shadow-lg); animation: owl-pop .14s ease-out; }
@keyframes owl-pop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.owl-header-account .owl-btn { background: var(--owl-brand); color: #fff; border-color: var(--owl-brand); }
.owl-header-account .owl-btn:hover { background: var(--owl-brand-dark); color: #fff; }
.owl-header-account .owl-btn span { display: inline; }

/* Mobile header + drawer */
@media (max-width: 900px) {
	.owl-header-inner { gap: 10px; min-height: 60px; }
	.owl-header-search { display: none; }
	.owl-header-account { margin-left: auto; }
	.owl-header-account .owl-btn span { display: none; }
	.owl-header-account .owl-btn { width: 44px; padding: 0; }
	.owl-nav { position: static; display: none; }
	.owl-nav.is-open { display: block; position: fixed; inset: 60px 0 0 0; background: #fff; overflow: auto; z-index: 80; padding: 16px 0 40px; }
	.owl-nav a { padding: 14px 4px; font-size: 17px; }
	.owl-menu { flex-direction: column; flex-wrap: nowrap; }
	.owl-menu > li { flex-wrap: wrap; }
	.owl-nav-search { display: block !important; margin-bottom: 14px; }
	.owl-nav-search .owl-search .owl-btn { display: inline-flex; }
}

/* ---------- Hero ---------- */
.owl-hero { position: relative; overflow: hidden; margin: 0; padding: 84px 0 72px; color: #fff; background:
	radial-gradient(900px 420px at 85% 10%, rgba(18,161,80,.32), transparent 60%),
	radial-gradient(700px 380px at 0% 100%, rgba(80,120,255,.22), transparent 60%),
	var(--owl-brand); }
.owl-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(to bottom, #000, transparent 85%); -webkit-mask-image: linear-gradient(to bottom, #000, transparent 85%); pointer-events: none; }
.owl-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: center; text-align: left; max-width: var(--owl-max); }
.owl-hero-copy { min-width: 0; }
.owl-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); font-size: 13px; font-weight: 600; margin-bottom: 18px; }
.owl-hero-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 4px rgba(74,222,128,.25); }
.owl-hero-title { font-size: clamp(34px, 5.2vw, 60px); line-height: 1.04; font-weight: 800; letter-spacing: -.035em; margin-bottom: 16px; }
.owl-hero-title em { font-style: normal; color: #4ade80; }
.owl-hero-subtitle { font-size: clamp(16px, 1.6vw, 19px); color: rgba(255,255,255,.8); max-width: 540px; margin-bottom: 28px; }
.owl-search--hero { padding: 7px 7px 7px 20px; border-radius: 18px; box-shadow: 0 20px 50px rgba(0,0,0,.35); max-width: 640px; }
.owl-search--hero input { font-size: 18px; padding: 14px 10px; }
.owl-search--hero .owl-btn { min-height: 52px; border-radius: 12px; padding: 0 28px; font-size: 16px; }
.owl-hero-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; font-size: 14px; color: rgba(255,255,255,.7); }
.owl-hero-popular a { color: #fff; text-decoration: none; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); font-weight: 550; transition: background .15s; }
.owl-hero-popular a:hover { background: rgba(255,255,255,.22); color: #fff; }
.owl-hero-art { position: relative; min-width: 0; height: 360px; }
.owl-hero-ticket { position: absolute; background: #fff; color: var(--owl-ink); border-radius: 18px; padding: 18px 20px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.owl-hero-ticket strong { display: block; font-size: 38px; line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--owl-accent-dark); }
.owl-hero-ticket small { display: block; margin-top: 6px; color: var(--owl-muted); font-size: 13px; }
.owl-hero-ticket .code { display: inline-block; margin-top: 12px; padding: 6px 12px; border: 2px dashed var(--owl-accent); border-radius: 8px; font: 700 14px ui-monospace, Menlo, monospace; letter-spacing: .08em; color: var(--owl-brand); }
.owl-hero-ticket.t1 { top: 6px; left: 8%; width: 250px; transform: rotate(-4deg); animation: owl-float 7s ease-in-out infinite; }
.owl-hero-ticket.t2 { top: 120px; right: 0; width: 230px; transform: rotate(5deg); animation: owl-float 8s ease-in-out -2s infinite; }
.owl-hero-ticket.t3 { bottom: 0; left: 18%; width: 240px; transform: rotate(-1deg); animation: owl-float 9s ease-in-out -4s infinite; }
.owl-hero-ticket.t2 strong { color: var(--owl-hot); }
.owl-hero-ticket .tag { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--owl-muted); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
@keyframes owl-float { 50% { translate: 0 -8px; } }

/* ---------- Sections ---------- */
.owl-section { padding: 44px 0; }
.owl-section-head { align-items: flex-end; margin-bottom: 22px; }
.owl-section-title { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; letter-spacing: -.025em; }
.owl-section-sub { margin: 4px 0 0; color: var(--owl-muted); font-size: 15px; }
.owl-section-more { color: var(--owl-brand); padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--owl-line); font-size: 14px; transition: border-color .15s, color .15s; }
.owl-section-more:hover { border-color: var(--owl-accent); color: var(--owl-accent-dark); }

/* Category tiles */
.owl-cat-grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)); gap: 14px; margin: 0; padding: 0; }
.owl-cat-tile { display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 18px; background: #fff; border: 1px solid var(--owl-line); border-radius: var(--owl-radius); text-decoration: none; color: var(--owl-ink); transition: transform .18s, box-shadow .18s, border-color .18s; }
.owl-cat-tile:hover { transform: translateY(-3px); box-shadow: var(--owl-shadow-lg); border-color: transparent; color: var(--owl-ink); }
.owl-cat-ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--owl-brand-soft); color: var(--owl-brand); transition: background .18s, color .18s; }
.owl-cat-tile:hover .owl-cat-ico { background: var(--owl-accent); color: #fff; }
.owl-cat-ico .owl-icon { width: 22px; height: 22px; }
.owl-cat-name { font-weight: 700; font-size: 16px; line-height: 1.25; }
.owl-cat-count { font-size: 13px; color: var(--owl-muted); margin-top: -10px; }

/* Cards */
.owl-cards--grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.owl-card { border: 1px solid var(--owl-line); box-shadow: none; border-radius: var(--owl-radius); }
.owl-card:hover { box-shadow: var(--owl-shadow-lg); border-color: transparent; transform: translateY(-3px); }
.owl-card--coupon .owl-card-media { height: 104px; background: linear-gradient(180deg, #fafbfe, #f1f4fa); border-bottom: 1px dashed var(--owl-line); }
.owl-card-logo img { max-height: 56px; mix-blend-mode: multiply; }
.owl-badge--type { top: 12px; left: 12px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 4px 10px; background: #fff; color: var(--owl-brand); border: 1px solid var(--owl-line); }
.owl-card--coupon .owl-badge--type { background: var(--owl-accent-soft); color: var(--owl-accent-dark); border-color: transparent; }
.owl-card-store { color: var(--owl-muted); letter-spacing: .05em; font-size: 12px; }
.owl-card-title { font-size: 17px; line-height: 1.3; letter-spacing: -.01em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.owl-urgent { color: #c2410c; font-weight: 600; }
.owl-card-action .owl-btn { border-radius: 12px; min-height: 46px; }

/* Stores */
.owl-store-logos { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.owl-store-logos a { aspect-ratio: 4 / 3; border: 1px solid var(--owl-line); box-shadow: none; border-radius: var(--owl-radius); transition: transform .18s, box-shadow .18s; }
.owl-store-logos a:hover { transform: translateY(-3px); box-shadow: var(--owl-shadow-lg); }
.owl-store-card { list-style: none; }
.owl-store-grid-v2 { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin: 0; padding: 0; }
.owl-store-tile { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 22px 16px 18px; background: #fff; border: 1px solid var(--owl-line); border-radius: var(--owl-radius); text-decoration: none; color: var(--owl-ink); text-align: center; height: 100%; transition: transform .18s, box-shadow .18s; }
.owl-store-tile:hover { transform: translateY(-3px); box-shadow: var(--owl-shadow-lg); color: var(--owl-ink); }
.owl-store-tile-logo { height: 64px; display: flex; align-items: center; justify-content: center; width: 100%; }
.owl-store-tile-logo img { max-height: 56px; max-width: 80%; width: auto; object-fit: contain; }
.owl-store-tile-name { font-weight: 700; font-size: 15px; }
.owl-store-tile-meta { font-size: 13px; color: var(--owl-accent-dark); font-weight: 600; background: var(--owl-accent-soft); padding: 3px 10px; border-radius: 999px; }

/* Why */
.owl-why { background: #fff; border-block: 1px solid var(--owl-line); }
.owl-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.owl-why-grid li { display: flex; flex-direction: column; gap: 8px; }
.owl-why-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--owl-accent-soft); color: var(--owl-accent-dark); margin-bottom: 6px; }
.owl-why-grid h3 { font-size: 17px; margin: 0; }
.owl-why-grid p { margin: 0; color: var(--owl-ink-2); font-size: 15px; }

/* Posts */
.owl-posts { gap: 22px; }

/* Newsletter */
.owl-newsletter-inner { background: var(--owl-brand); color: #fff; border-radius: 24px; padding: 44px; position: relative; overflow: hidden; box-shadow: none; }
.owl-newsletter-inner::before { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(18,161,80,.5), transparent 70%); }
.owl-newsletter-inner > * { position: relative; }
.owl-newsletter .owl-section-title { color: #fff; font-size: clamp(24px, 3vw, 34px); }
.owl-newsletter p { color: rgba(255,255,255,.78); margin: 8px 0 0; }
.owl-subscribe input { background: #fff; border: 0; border-radius: 12px; min-height: 52px; color: var(--owl-ink); }
.owl-subscribe button { border-radius: 12px; min-height: 52px; padding: 0 26px; font-size: 16px; }
.owl-subscribe button:hover { background: var(--owl-accent-dark); }
.owl-newsletter .owl-subscribe-msg { color: #bbf7d0; }

/* ---------- Inner pages ---------- */
.owl-page-header, .owl-breadcrumbs { color: var(--owl-muted); }
.owl-filters, .owl-sidebar .widget, .owl-box { border-radius: var(--owl-radius); border: 1px solid var(--owl-line); box-shadow: none; }
.owl-chip { border-radius: 999px; }
.owl-chip:hover, .owl-chip.is-active { border-color: var(--owl-accent); color: var(--owl-accent-dark); background: var(--owl-accent-soft); }
.owl-pagination .current, .nav-links .current { background: var(--owl-brand); border-color: var(--owl-brand); }
.owl-empty { text-align: center; padding: 56px 20px; background: #fff; border: 1px dashed var(--owl-line); border-radius: var(--owl-radius); color: var(--owl-ink-2); }

/* ---------- Footer ---------- */
.owl-footer { background: var(--owl-brand); color: rgba(255,255,255,.72); padding: 64px 0 28px; }
.owl-footer a { color: rgba(255,255,255,.82); text-decoration: none; transition: color .15s; }
.owl-footer a:hover { color: #4ade80; }
.owl-footer-top { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 36px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.12); }
.owl-footer-brand .owl-logo-text { font-size: 24px; color: #fff; font-weight: 800; }
.owl-footer-brand p { margin: 14px 0 18px; max-width: 320px; font-size: 15px; }
.owl-footer h2 { color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 14px; }
.owl-footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: 15px; }
.owl-footer-widgets { border-bottom: 1px solid rgba(255,255,255,.12); }
.owl-footer-bottom { padding-top: 24px; }
.owl-footer-menu { gap: 18px; font-size: 14px; }
.owl-social a { background: rgba(255,255,255,.1); transition: background .15s; }
.owl-social a:hover { background: var(--owl-accent); color: #fff; }
.owl-footer-disclosure { font-size: 13px; color: rgba(255,255,255,.55); padding-top: 18px; margin: 0; max-width: 780px; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.owl-hero-inner { grid-template-columns: 1fr; gap: 32px; }
	.owl-hero-art { display: none; }
	.owl-footer-top { grid-template-columns: 1fr 1fr; }
	.owl-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.owl-hero { padding: 44px 0 40px; }
	.owl-search--hero { padding: 5px 5px 5px 14px; border-radius: 16px; }
	.owl-search--hero input { font-size: 16px; padding: 12px 6px; }
	.owl-search--hero .owl-btn { padding: 0 16px; }
	.owl-section { padding: 30px 0; }
	.owl-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.owl-cat-tile { padding: 14px; }
	.owl-cards--grid { grid-template-columns: 1fr; }
	.owl-store-grid-v2 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.owl-newsletter-inner { grid-template-columns: 1fr; padding: 28px 20px; border-radius: 20px; }
	.owl-newsletter .owl-btn, .owl-subscribe button { width: 100%; }
	.owl-section-head { flex-direction: column; align-items: flex-start; gap: 8px; }
	.owl-footer-top { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.owl-btn, .owl-chip { min-height: 44px; }
}
/* Loading skeleton helper */
.owl-skel { background: linear-gradient(90deg, #eef1f6 25%, #f7f9fc 37%, #eef1f6 63%); background-size: 400% 100%; animation: owl-shimmer 1.3s infinite; border-radius: 10px; }
@keyframes owl-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
