/* style.css - Minimalist & Bulletproof styles for SIMWORDO */
:root { --u: clamp(0.848, 0.5 + (50vw / 460px), 1); font-size: calc(15px * var(--u)); }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background-color: #d9e3db; font-family: Arial, Helvetica, sans-serif; font-size: 1rem; display: flex; justify-content: center; min-height: 100vh; }

/* General helper classes */
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }

/* Layout & Container - 100% safe for 320px mobile screens */
.app-container { width: 100%; min-width: 0; max-width: 30.66rem; margin: 0 auto; display: flex; flex-direction: column; position: relative; padding-top: 0.8rem; }
.game-content { padding: 0 5% 0.8rem 5%; display: flex; flex-direction: column; gap: 0.9rem; }
.ad-banner-top { position: sticky; top: 0; z-index: 100; width: 100%; height: 100px; background-color: #d9e3db; display: none !important; justify-content: center; align-items: center; margin-bottom: 0.8rem; }
.ad-slot { width: 100%; max-width: 320px; height: 100%; max-height: 100px; background-color: #8c989e; color: #384247; display: flex; justify-content: center; align-items: center; font-weight: 900; font-size: 1.2rem; letter-spacing: 2px; }

/* Header & Robot Sim */
.header { position: relative; display: flex; align-items: center; height: 4rem; margin-bottom: 0.6rem; }
.header-robot-link { display: flex; align-items: center; justify-content: center; flex-shrink: 0; z-index: 5; position: absolute; left: 0; background: none; border: none; padding: 0; cursor: pointer; }
.header-robot-img { width: 4.33rem; height: 4.33rem; object-fit: contain; display: block; transition: transform 0.2s; }
.simwordo-box { position: absolute; left: 2.33rem; right: calc(2.13rem + 10px); height: 3.33rem; background-color: #FCF7DC; border: 2px solid #B1BEB4; border-radius: 8px; display: flex; align-items: center; padding: 2px 0.6rem; box-shadow: 0 2px 4px rgba(0,0,0,0.05); z-index: 2; overflow: hidden; }
.simwordo-box.is-talking { cursor: pointer; }
.simwordo-box a, .simwordo-box-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; text-decoration: none; background: none; border: none; padding: 0; cursor: pointer; }
.simwordo-text-img { max-height: 1.06rem; width: auto; max-width: 100%; object-fit: contain; display: block; }
.sim-logo-layer { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; transition: opacity 0.5s ease-in-out; opacity: 1; padding-left: 14px; }
.sim-speech-layer { display: none; align-items: center; justify-content: flex-start; width: 100%; height: 100%; opacity: 0; transition: opacity 0.5s ease-in-out; padding-left: 36px; }
.sim-speech-text { font-size: 0.88rem; line-height: 1.22; font-weight: 700; color: #1e2d22; text-align: left; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: normal; }
.simwordo-box.is-talking .sim-logo-layer { opacity: 0; display: none; }
.simwordo-box.is-talking .sim-speech-layer { display: flex; opacity: 1; }

@keyframes simWobble { 0% { transform: scale(1) rotate(0deg); } 20% { transform: scale(1.08) rotate(-6deg); } 40% { transform: scale(1.08) rotate(6deg); } 60% { transform: scale(1.05) rotate(-3deg); } 80% { transform: scale(1.05) rotate(3deg); } 100% { transform: scale(1) rotate(0deg); } }

/* Idle wobble animation when Sim is waiting for a head tap (1x per 1.2 sec) */
@keyframes simWachtWiebel { 0%, 100% { transform: scale(1) rotate(0deg); } 25% { transform: scale(1.05) rotate(-4deg); } 75% { transform: scale(1.05) rotate(4deg); } }
.header-robot-img.wacht-op-tik { animation: simWachtWiebel 1.2s infinite ease-in-out !important; cursor: pointer; }

/* Navigation Menu */
.nav-menu { position: absolute; right: 0; display: flex; align-items: center; z-index: 3; }
.hamburger { display: flex; align-items: center; justify-content: center; cursor: pointer; list-style: none; background: none; border: none; }
.hamburger::-webkit-details-marker { display: none; }
.hamburger-img { display: block; width: 1.72rem; height: auto; }
.dropdown { position: absolute; right: 0; top: 2.33rem; background-color: #ffffff; border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,0.18); display: flex; flex-direction: column; width: 14rem; z-index: 200; overflow: hidden; }
.dropdown a, .dropdown-item-btn { padding: 0.8rem 1.2rem; color: #1e3d2b; text-decoration: none; font-weight: bold; font-size: 1rem; display: block; border-bottom: 1px solid #f0f0f0; background: none; border-left: none; border-right: none; border-top: none; text-align: left; width: 100%; font-family: inherit; cursor: pointer; }
.dropdown a:hover, .dropdown-item-btn:hover { background-color: #f5f8f6; }
.dropdown a:last-child, .dropdown-item-btn:last-child { border-bottom: none; }
.header-btn-clean { background: none; border: none; padding: 0; margin: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; position: absolute; left: 0; z-index: 5; }
.simwordo-box .header-btn-clean { position: static; left: auto; z-index: auto; }

/* Input Field & Status Bar */
.stats-and-best-card { background-color: #bdc9bf; border-radius: 12px; padding: 0.8rem; display: flex; flex-direction: column; align-items: center; gap: 0.66rem; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
#guess-form, #game-form { width: 100%; }
.input-wrapper { position: relative; display: flex; align-items: center; width: 100%; }
.input-box { width: 100%; padding: 0.93rem 3.2rem 0.93rem 3.06rem; font-size: 1.13rem; border: 2px solid #aebcb1; border-radius: 10px; outline: none; background-color: #ffffff; color: #333333; box-shadow: inset 0 1px 3px rgba(0,0,0,0.06); text-transform: uppercase; appearance: none; -webkit-appearance: none; }
.input-box:disabled { background-color: #e8ecef; color: #727d85; cursor: not-allowed; opacity: 0.8; text-align: center; font-size: 1rem; }
.input-btn { position: absolute; background: none; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; height: 100%; width: 2.93rem; }
.clear-btn { left: 2px; right: auto; color: #727d85; font-size: 1rem; font-weight: bold; width: 2.53rem; border-right: 1px solid #d0dcd2; height: 60%; }
.clear-btn:hover { color: #384247; }
.submit-btn { right: 2px; left: auto; color: #4a6152; font-size: 1.33rem; font-weight: bold; width: 2.53rem; border-left: 1px solid #d0dcd2; height: 60%; }
.stats-text { font-size: 0.86rem; font-weight: bold; color: #2c3e32; letter-spacing: 0.5px; text-transform: uppercase; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px; }

/* Date in status bar */
.date-badge { display: inline-flex; align-items: center; gap: 3px; font-weight: 900; font-size: 0.86rem; letter-spacing: 0.5px; vertical-align: baseline; }
.date-badge-today { color: #1b6d34; }
.date-badge-past { color: #8f5800; }

/* Blinking Fake Caret */
.fake-caret { position: absolute; left: 3.06rem; top: 50%; transform: translateY(-50%); width: 1.5px; height: 1.25rem; background-color: #1e3d2b; pointer-events: none; z-index: 4; animation: fakeCaretBlink 1s infinite steps(1); }
@keyframes fakeCaretBlink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.input-box:focus ~ .fake-caret, .input-box:not(:placeholder-shown) ~ .fake-caret, .input-box:disabled ~ .fake-caret { display: none !important; }
@media (min-width: 769px) { .fake-caret { display: none !important; } }

/* Words List & Cards */
.attempts-list { display: flex; flex-direction: column; gap: 0.53rem; list-style: none; margin-top: 0.9rem; }
.attempt-card { display: flex; border-radius: 8px; overflow: hidden; height: 2.53rem; box-shadow: 0 2px 4px rgba(0,0,0,0.06); }
.best-word-pill.attempt-card { width: 100%; cursor: default; }
button.best-word-pill.attempt-card { font-family: inherit; font-size: inherit; cursor: pointer; width: 100%; border: none; padding: 0; }
.attempt-rank { width: 5.0rem; height: 100%; font-size: 0.95rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #2c251e; font-weight: bold; }
.attempt-word { flex: 1; display: flex; align-items: center; padding-left: 0.93rem; letter-spacing: 0.5px; color: #2c251e; font-weight: bold; height: 100%; text-transform: uppercase; }
.best-word-pill .attempt-word { text-align: center; text-transform: uppercase; }

/* Status Banners */
.best-word-pill .attempt-word.is-banner { justify-content: center; padding: 0; width: 100%; text-transform: none; }
.best-word-pill .attempt-word.banner-win { font-size: 1.05rem; cursor: pointer; text-transform: none; }
.best-word-pill .attempt-word.banner-warning { gap: 6px; background-color: #eb9e6a; color: #2c251e; text-transform: none; }
.best-word-pill .attempt-word.banner-error { background-color: #d96f61; color: #ffffff; text-transform: none; }

/* Card Colors */
@keyframes win-pulse { 0% { box-shadow: 0 0 10px rgba(212,175,55,0.5), 0 0 4px rgba(255,215,0,0.7); transform: scale(1); } 50% { box-shadow: 0 0 18px rgba(212,175,55,0.8), 0 0 8px rgba(255,215,0,0.95); transform: scale(1.01); } 100% { box-shadow: 0 0 10px rgba(212,175,55,0.5), 0 0 4px rgba(255,215,0,0.7); transform: scale(1); } }
@keyframes gold-shine { 0% { transform: translateX(-150%) rotate(30deg); } 25%, 100% { transform: translateX(150%) rotate(30deg); } }
.card-1 { position: relative; overflow: hidden; border: 2px solid #d4af37 !important; box-shadow: 0 0 12px rgba(212,175,55,0.6); animation: win-pulse 2s infinite ease-in-out; }
.card-1::after, .best-word-pill.card-win::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(60deg, transparent 35%, rgba(255,255,255,0.65) 50%, transparent 65%); animation: gold-shine 3s infinite ease-in-out; pointer-events: none; z-index: 10; }
.card-1 .attempt-rank { background: linear-gradient(135deg, #c59b27 0%, #9a7612 100%) !important; color: #ffffff !important; font-weight: 900; text-shadow: 0 1px 2px rgba(0,0,0,0.4); position: relative; z-index: 2; }
.card-1 .attempt-word { background: linear-gradient(135deg, #fae082 0%, #e6be44 100%) !important; color: #2b1d03 !important; font-weight: 900; position: relative; z-index: 2; text-transform: uppercase; }

.card-2 .attempt-rank { background-color: #39734e; color: #ffffff; }
.card-2 .attempt-word { background-color: #42845a; color: #ffffff; }
.card-3 .attempt-rank { background-color: #8ebd80; color: #2c251e; }
.card-3 .attempt-word { background-color: #a0cf92; color: #2c251e; }
.card-4 .attempt-rank { background-color: #eb9e6a; color: #2c251e; }
.card-4 .attempt-word { background-color: #f7af7c; color: #2c251e; }
.card-5 .attempt-rank { background-color: #e28a7a; color: #2c251e; }
.card-5 .attempt-word { background-color: #eea091; color: #2c251e; }
.card-6 .attempt-rank { background-color: #c95e50; color: #ffffff; }
.card-6 .attempt-word { background-color: #d96f61; color: #ffffff; }

.attempt-card.card-start, .best-word-pill.card-start { display: flex; justify-content: center; align-items: center; height: 2.53rem; width: 100%; background-color: #d9e3db !important; border: 1px dashed #a2b3a6 !important; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); cursor: default !important; }
.card-start .attempt-rank { display: none; }
.card-start .attempt-word { background-color: transparent !important; color: #2c3e32 !important; justify-content: center; padding: 0; font-weight: 700; font-size: 0.95rem; letter-spacing: 0.3px; cursor: default !important; text-transform: none; }

/* Info Boxes & Buttons */
.info-blok { background-color: #ffffff; border-radius: 12px; padding: 0.75rem 1.1rem 0.55rem 1.1rem; margin-top: 0.75rem; text-align: center; color: #3a4a3f; box-shadow: 0 2px 6px rgba(0,0,0,0.05); }
.info-blok h2 { margin-bottom: 0.6rem; font-size: 1.25rem; }
.info-blok p { line-height: 1.45; margin-bottom: 0.45rem; }
.info-blok .tip { font-size: 0.95rem; color: #2c593d; font-weight: bold; }
.btn-link, .btn-actie { display: inline-block; padding: 0.66rem 1.2rem; border-radius: 8px; font-weight: bold; text-decoration: none; cursor: pointer; border: none; font-size: 0.95rem; }
.btn-link { background-color: #2d5f3d; color: #ffffff; margin-top: 0.66rem; font-family: inherit; }
button.btn-link { background: #1e3d2b; color: #fff; }
.actie-formulier { display: flex; flex-direction: column; align-items: center; gap: 0.8rem; margin-top: 1rem; }
.btn-actie.groen { background-color: #2d5f3d; color: #ffffff; }
.btn-actie.rood { background-color: #c95e50; color: #ffffff; }
button.btn-annuleer, .btn-annuleer { color: #2c593d; font-weight: bold; text-decoration: underline; font-size: 0.86rem; background: none; border: none; cursor: pointer; font-family: inherit; margin-top: 0.66rem; }
.hidden-file-input { display: none; }

/* Welcome & Rules */
.welcome-title { font-size: 1.20rem; font-weight: 700; margin-bottom: 0.4rem; color: #1e3d2b; line-height: 1.3; }
.welcome-lead { margin-bottom: 0.35rem; line-height: 1.4; font-size: 0.95rem; }
.welcome-tip { margin-bottom: 0.45rem; line-height: 1.4; font-size: 0.92rem; }
.legend-tags { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin-top: 0.35rem; font-size: 0.84rem; font-weight: 600; }
.legend-tag { padding: 3px 8px; border-radius: 10px; }
.legend-tag-green { background: rgba(30,130,60,0.12); color: #1b6d34; }
.legend-tag-orange { background: rgba(230,120,20,0.12); color: #ad5409; }
.legend-tag-red { background: rgba(200,40,40,0.12); color: #9c2020; }
.welcome-footer-text { margin-top: 0.4rem; margin-bottom: 0; font-size: 0.80rem; color: #4a6152; line-height: 1.3; }
.rules-lead { line-height: 1.45; margin-bottom: 1.1rem; font-weight: 600; color: #2c3e32; }
.home-missed-wrap { margin-top: 10px; padding-top: 8px; border-top: 1px dashed #c9d8cc; }
.home-missed-link { color: #1e3d2b; font-weight: bold; font-size: 0.86rem; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }

/* Missed / Past Words */
.missed-container { padding: 1.1rem 0.9rem; }
.missed-header { text-align: center; margin-bottom: 1rem; }
.missed-title { margin-bottom: 0.3rem; }
.missed-subtitle { font-size: 0.88rem; color: #4a6152; margin: 0; }
.missed-list { display: flex; flex-direction: column; gap: 8px; list-style: none; padding: 0; margin: 0; }
.missed-card { border-radius: 8px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.missed-card-completed { background: #f7faf8; border: 1px solid #d4dfd6; }
.missed-card-active { background: #fffdf5; border: 1.5px solid #e8c872; }
.missed-card-empty { background: #ffffff; border: 1px solid #c9d8cc; }
.missed-info { min-width: 0; flex: 1; }
.missed-date-label { font-size: 0.78rem; font-weight: bold; color: #5a7566; }
.missed-card-active .missed-date-label { color: #875a00; }
.missed-word-revealed { font-weight: 900; font-size: 0.96rem; color: #1e3d2b; letter-spacing: 0.5px; margin-top: 2px; text-transform: uppercase; }
.missed-word-hidden { font-weight: bold; font-size: 0.92rem; color: #728477; margin-top: 2px; }
.missed-card-active .missed-word-hidden { color: #4a3800; }
.missed-turns-badge { font-size: 0.76rem; font-weight: normal; }
.missed-stats-col { text-align: right; font-size: 0.82rem; font-weight: bold; color: #4a6152; }
.missed-solved-badge { font-size: 0.72rem; color: #1b6d34; margin-top: 2px; }
.btn-missed { border: none; font-weight: bold; font-size: 0.82rem; padding: 7px 12px; border-radius: 6px; cursor: pointer; white-space: nowrap; font-family: inherit; }
.btn-missed-active { background: #d49f1a; color: white; }
.btn-missed-start { background: #2d5f3d; color: white; }
.btn-missed-view { background: #5a7566; color: white; }
.btn-missed-view:hover { background: #3d5246; }
.missed-back-wrap { text-align: center; margin-top: 1.2rem; }
.missed-back-btn { padding: 9px 20px; font-size: 0.9rem; }

/* Statistics */
.stats-box { padding: 1rem 0.8rem; position: relative; }
.stats-title { font-size: 1.25rem; color: #1e3d2b; margin-bottom: 0.8rem; }
.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 1.2rem; }
.stats-card { background-color: #f4f7f4; border: 1px solid #c9d8cc; border-radius: 8px; padding: 8px 6px; }
.stats-card-label { font-size: 0.75rem; color: #4a6152; font-weight: bold; text-transform: uppercase; }
.stats-card-val { font-size: 1.15rem; font-weight: 900; color: #1e3d2b; margin-top: 2px; }
.stats-card-sub { font-size: 0.8rem; font-weight: 600; color: #2d5f3d; }
.stats-card-unit { font-size: 0.8rem; font-weight: 600; }
.stats-history-header { font-size: 0.95rem; color: #2c3e32; text-align: left; margin: 0 4px 6px 4px; display: flex; justify-content: space-between; }
.stats-history-sub { font-size: 0.78rem; font-weight: normal; color: #5a7566; }
.stats-empty { background-color: #f9fbf9; border: 1px dashed #c9d8cc; border-radius: 8px; padding: 18px 12px; font-size: 0.88rem; color: #5a7566; margin-top: 6px; }
.stats-list { display: flex; flex-direction: column; gap: 4px; max-height: 250px; overflow-y: auto; padding-right: 2px; }
.stats-item { display: flex; align-items: center; justify-content: space-between; border-radius: 6px; padding: 6px 8px; font-size: 0.85rem; font-weight: bold; color: #1e3d2b; }
.stats-item.is-win { background: #ffffff; border: 1px solid #d8e4da; }
.stats-item.is-giveup { background: #fff5f5; border: 1px solid #f0d0cb; }
.stats-col-date { width: 50px; text-align: left; font-size: 0.80rem; color: #5a7566; font-weight: 600; flex-shrink: 0; }
.stats-col-word { flex: 1; text-align: left; padding: 0 6px; letter-spacing: 0.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.stats-col-turns { font-size: 0.82rem; color: #2c593d; margin-right: 6px; flex-shrink: 0; }
.stats-col-hints { font-size: 0.82rem; color: #b86b1f; margin-right: 6px; flex-shrink: 0; }
.stats-col-icon { font-size: 0.95rem; width: 20px; text-align: right; flex-shrink: 0; }
.stats-backup-section { margin-top: 1.2rem; padding-top: 0.9rem; border-top: 1px dashed #c9d8cc; }
.stats-backup-title { font-size: 0.76rem; color: #5a7566; margin-bottom: 8px; }
.stats-backup-actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.btn-backup { padding: 7px 12px; font-size: 0.80rem; background-color: #f4f7f4; border: 1px solid #b5ccba; color: #1e3d2b; cursor: pointer; border-radius: 8px; font-weight: bold; font-family: inherit; }
.btn-backup-label { display: inline-flex; align-items: center; }
.stats-backup-tip { font-size: 0.72rem; color: #7a9482; margin-top: 6px; }
.stats-back-wrap { margin-top: 1.1rem; }
.btn-back-padded { padding: 10px 24px; }

/* Share */
.share-success-msg { margin-bottom: 12px; font-weight: bold; color: #2c593d; }
.share-summary-box { background-color: #f4f7f4; border: 1px solid #c9d8cc; border-radius: 8px; padding: 12px; margin-bottom: 18px; font-size: 0.95rem; line-height: 1.5; color: #2c3e32; }
.share-grid-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.share-grid-row-last { margin-bottom: 22px; }
.btn-share { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 4px; font-size: 0.9rem; text-decoration: none; color: white; border-radius: 8px; font-weight: bold; }
.btn-share-whatsapp { background-color: #25D366; }
.btn-share-copy { background-color: #4a6152; border: none; cursor: pointer; font-family: inherit; }
.btn-share-facebook { background-color: #1877F2; }
.btn-share-insta { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.share-qr-section { border-top: 1px dashed #c0cfc3; padding-top: 16px; margin-top: 10px; }
.share-qr-label { font-size: 0.9rem; font-weight: bold; color: #3a4a3f; margin-bottom: 8px; }
.share-qr-img { border: 4px solid #ffffff; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); display: inline-block; }
.share-back-wrap { margin-top: 20px; }
.btn-annuleer-lg { font-size: 1rem; }

/* App Download */
.app-hero { text-align: center; margin-bottom: 1rem; }
.app-hero-img { display: inline-block; }
.app-hero-title { margin-top: 0.5rem; font-size: 1.3rem; color: #1e3d2b; }
.app-hero-sub { font-size: 0.95rem; color: #4a6152; margin-top: 4px; }
.app-card { background-color: #f6f8f6; border: 1px solid #c9d8cc; border-radius: 10px; padding: 14px; margin-bottom: 14px; }
.app-card-last { margin-bottom: 16px; }
.app-card-title { font-size: 1.05rem; color: #1e3d2b; display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.app-icon-badge { display: inline-block; border: 1px solid #aaa; border-radius: 4px; padding: 1px 5px; font-size: 0.85rem; background: #fff; }
.app-list { margin-left: 1.2rem; line-height: 1.6; font-size: 0.92rem; color: #2c3e32; }
.app-desc-text { font-size: 0.92rem; line-height: 1.5; color: #2c3e32; margin-bottom: 6px; }
.app-back-wrap { text-align: center; margin-top: 1.2rem; }

/* About & Privacy */
.section-subtitle { margin-top: 1.2rem; font-size: 1.05rem; color: #1e3d2b; text-align: left; }
.content-lead-left { text-align: left; margin-top: 0.5rem; line-height: 1.55; }
.content-list-left { text-align: left; margin: 0.6rem 0 0.8rem 1.4rem; line-height: 1.6; }
.content-back-wrap { margin-top: 1.5rem; }
.cookie-reset-wrap { text-align: left; margin: 0.6rem 0 1rem 0; }
.btn-cookie-settings { background: none; border: none; font-size: 0.95rem; font-weight: bold; color: #1e3d2b; cursor: pointer; text-decoration: underline; padding: 0.4rem 0; display: inline-block; font-family: inherit; }
.btn-cookie-settings:hover { color: #2d5f3d; }

/* Cookie Consent Overlay */
.cookie-overlay { position: fixed; inset: 0; background-color: rgba(25, 38, 29, 0.72); display: flex; align-items: center; justify-content: center; z-index: 999999; padding: 1rem; backdrop-filter: blur(2px); }
.cookie-overlay.is-hidden { display: none !important; }
.cookie-modal { background: #ffffff; border-radius: 12px; width: 100%; max-width: 380px; padding: 1.5rem; box-shadow: 0 12px 35px rgba(0,0,0,0.3); text-align: left; color: #1e2d22; font-family: inherit; }
.cookie-title { font-size: 1.18rem; font-weight: 800; margin-bottom: 0.8rem; color: #1e3d2b; }
.cookie-subtitle { font-size: 0.95rem; margin-top: 0.65rem; color: #2c3e32; }
.cookie-list { margin: 0.35rem 0 0.7rem 1.3rem; font-size: 0.88rem; line-height: 1.45; color: #3a4a3f; }
.cookie-btn-group { display: flex; gap: 10px; margin-top: 1.1rem; justify-content: flex-end; }
.cookie-btn { padding: 0.65rem 1.25rem; border-radius: 8px; font-weight: bold; font-size: 0.92rem; cursor: pointer; border: none; font-family: inherit; }
.cookie-btn-reject { background-color: #f0f3f1; color: #3a4a3f; border: 1px solid #c9d8cc; }
.cookie-btn-reject:hover { background-color: #e5ebe7; }
.cookie-btn-accept { background-color: #1e3d2b; color: #ffffff; }
.cookie-btn-accept:hover { background-color: #2c593d; }
.cookie-policy-link-wrap { margin-top: 0.95rem; text-align: center; border-top: 1px solid #edf2ee; padding-top: 0.7rem; }
.cookie-policy-link { background: none; border: none; font-size: 0.84rem; color: #2c593d; text-decoration: underline; cursor: pointer; font-family: inherit; padding: 0; font-weight: bold; }
.cookie-policy-link:hover { color: #1e3d2b; }

@media (max-width: 360px) { .input-box { font-size: 1.02rem; } }