/*!
Theme Name: ExpertCasino
Theme URI: https://example.com/themes/expert-casino
Author: ExpertCasino Team
Author URI: https://example.com
Description: Original WordPress theme for online casino reviews, Classic Editor first, performance and SEO optimized. No Gutenberg/FSE dependency.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: expert-casino
Domain Path: /languages
Tags: custom-colors, custom-logo, custom-menu, featured-images, grid-layout, translation-ready, rtl-language-support, accessibility-ready
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* CSS Architecture: ITCSS-inspired layers: Settings, Tools, Generic, Elements, Objects, Components, Utilities */

/* Settings: color palette, typography */
:root{
  --ec-bg: #F6F8FC;
  --ec-surface: #FFFFFF;
  --ec-text: #0B1220;
  --ec-muted: #5B6B85;
  --ec-border: #E2E8F0;
  --ec-accent: #1EE1C3;
  --ec-accent-600:#13B9A3;
  --ec-cta:#F6B10A;
  --ec-cta-700:#D59606;
  --ec-danger:#E6492D;
  --ec-success:#1FB57A;
  --ec-rating:#FFC107;
  --ec-focus:#2257FF;
  --ec-shadow: 0 6px 20px rgba(11,18,32,.08);
  --ec-radius:14px;
  --ec-radius-sm:10px;
  --ec-radius-lg:18px;
  --ec-container:1180px;
  --ec-font-sans:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --ec-font-head:"Poppins", var(--ec-font-sans);
  --ec-leading:1.6;
  --ec-z-header:1000;
}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Generic: reset */
*,*::before,*::after{box-sizing:border-box}
html{line-height:var(--ec-leading);-webkit-text-size-adjust:100%}
body{
  margin:0;
  color:var(--ec-text);
  background:var(--ec-bg);
  font:16px/var(--ec-leading) var(--ec-font-sans);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;border:0}
svg{vertical-align:middle}
a{color:var(--ec-accent);text-decoration:none}
a:hover{color:var(--ec-accent-600);text-decoration:underline}
hr{border:0;border-top:1px solid var(--ec-border);margin:24px 0}

/* Elements */
h1,h2,h3,h4,h5,h6{
  margin:0 0 12px;
  font-family:var(--ec-font-head);
  line-height:1.25;
  letter-spacing:.2px;
}
h1{font-size:clamp(28px,3vw,40px)}
h2{font-size:clamp(24px,2.4vw,32px)}
h3{font-size:clamp(20px,2vw,26px)}
p{margin:0 0 16px}
ul,ol{margin:0 0 16px 20px}
blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid var(--ec-accent);background:#F1FBF8}

/* Objects */
.ec-container{max-width:var(--ec-container);margin:0 auto;padding:0 20px}
.ec-grid{display:grid;gap:20px}
.ec-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ec-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ec-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.ec-grid--4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.ec-grid--4,.ec-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ec-grid--4,.ec-grid--3,.ec-grid--2{grid-template-columns:1fr}}

.ec-card{
  background:var(--ec-surface);
  border:1px solid var(--ec-border);
  border-radius:var(--ec-radius);
  box-shadow:var(--ec-shadow);
  overflow:hidden;
}
.ec-card__body{padding:16px}
.ec-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font:600 12px/1 var(--ec-font-sans);background:#EEF7F5;color:#0C3E36}

/* Components */
.ec-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:12px;border:0;background:var(--ec-cta);color:#231800;font-weight:700;cursor:pointer}
.ec-btn:hover{background:var(--ec-cta-700);text-decoration:none}
.ec-btn--ghost{background:transparent;border:1px solid var(--ec-border);color:var(--ec-text)}

.ec-rating{display:inline-flex;align-items:center;gap:6px}
.ec-stars{--size:18px;display:inline-flex;gap:2px}
.ec-stars svg{width:var(--size);height:var(--size);fill:var(--ec-rating)}

.ec-hero{background:linear-gradient(180deg,#FFFFFF, #F6F8FC);padding:36px 0;border-bottom:1px solid var(--ec-border)}
.ec-hero__title{margin-bottom:6px}
.ec-hero__subtitle{color:var(--ec-muted)}

header.site-header{position:sticky;top:0;background:var(--ec-surface);border-bottom:1px solid var(--ec-border);z-index:var(--ec-z-header)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.site-logo{display:flex;align-items:center;gap:10px;font:700 18px var(--ec-font-head);color:var(--ec-text)}
.site-nav a{display:inline-flex;padding:10px 12px;border-radius:10px;color:var(--ec-text)}
.site-nav a[aria-current="page"], .site-nav a:hover{background:#F1F5F9}

footer.site-footer{margin-top:40px;background:var(--ec-surface);border-top:1px solid var(--ec-border)}
.site-footer__inner{display:grid;gap:20px;padding:24px 0}
.site-footer__legal{font-size:13px;color:var(--ec-muted)}

/* Breadcrumbs */
.ec-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--ec-muted)}
.ec-breadcrumbs a{color:inherit}
.ec-breadcrumbs__sep{opacity:.5}

/* Utilities */
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}

/* Forms */
input,select,textarea{font:inherit;color:inherit;border:1px solid var(--ec-border);border-radius:10px;background:#fff;padding:10px 12px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ec-focus);outline-offset:1px}
label{display:inline-block;margin-bottom:6px;font-weight:600}

/* Tables */
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:12px;border-bottom:1px solid var(--ec-border);text-align:left}
thead th{background:#F8FAFC;font-weight:700}

/* Cards for CPT */
.card-casino__header{display:flex;gap:16px;align-items:center;padding:14px;border-bottom:1px solid var(--ec-border);background:#FAFCFF}
.card-casino__logo{width:56px;height:56px;border-radius:12px;border:1px solid var(--ec-border);display:grid;place-items:center;background:#FFF}
.card-casino__title{font:600 18px var(--ec-font-head)}
.card-casino__meta{color:var(--ec-muted);font-size:13px}

/* Accessibility helpers */
:focus-visible{outline:2px solid var(--ec-focus);outline-offset:2px}

/* RTL support */
[dir="rtl"] .site-nav a{transform:scaleX(-1)}
[dir="rtl"] .site-nav a span{transform:scaleX(-1)}

/* Print */
@media print{
  header,footer,.ec-btn{display:none!important}
  body{background:#fff}
}