:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--secondary-50:#fefce8;--secondary-100:#fef9c3;--secondary-200:#fef08a;--secondary-300:#fde047;--secondary-400:#facc15;--secondary-500:#eab308;--secondary-600:#ca8a04;--secondary-700:#a16207;--secondary-800:#854d0e;--secondary-900:#713f12;--accent-50:#f0fdf4;--accent-100:#dcfce7;--accent-200:#bbf7d0;--accent-300:#86efac;--accent-400:#4ade80;--accent-500:#22c55e;--accent-600:#16a34a;--accent-700:#15803d;--accent-800:#166534;--accent-900:#14532d;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success-50:#f0fdf4;--success-500:#22c55e;--success-600:#16a34a;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-600:#d97706;--error-50:#fef2f2;--error-500:#ef4444;--error-600:#dc2626;--info-50:#eff6ff;--info-500:#3b82f6;--info-600:#2563eb;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-dark:#94a3b8;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--hero-gradient:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-700) 100%);--hero-pattern:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath fill='%230ea5e9' d='M0 1000 1000 0v1000z'/%3E%3C/svg%3E")}:root[data-theme=dark]{--primary-50:#0c4a6e;--primary-100:#075985;--primary-200:#0369a1;--primary-300:#0284c7;--primary-400:#0ea5e9;--primary-500:#38bdf8;--primary-600:#7dd3fc;--primary-700:#bae6fd;--primary-800:#e0f2fe;--primary-900:#f0f9ff;--secondary-50:#713f12;--secondary-100:#854d0e;--secondary-200:#a16207;--secondary-300:#ca8a04;--secondary-400:#eab308;--secondary-500:#facc15;--secondary-600:#fde047;--secondary-700:#fef08a;--secondary-800:#fef9c3;--secondary-900:#fefce8;--accent-50:#14532d;--accent-100:#166534;--accent-200:#15803d;--accent-300:#16a34a;--accent-400:#22c55e;--accent-500:#4ade80;--accent-600:#86efac;--accent-700:#bbf7d0;--accent-800:#dcfce7;--accent-900:#f0fdf4;--gray-50:#0f172a;--gray-100:#1e293b;--gray-200:#334155;--gray-300:#475569;--gray-400:#64748b;--gray-500:#94a3b8;--gray-600:#cbd5e1;--gray-700:#e2e8f0;--gray-800:#f1f5f9;--gray-900:#f8fafc;--success-50:#14532d;--success-500:#4ade80;--success-600:#86efac;--warning-50:#713f12;--warning-500:#facc15;--warning-600:#fde047;--error-50:#7f1d1d;--error-500:#f87171;--error-600:#fca5a5;--info-50:#1e3a8a;--info-500:#60a5fa;--info-600:#93c5fd;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-tertiary:#cbd5e1;--text-inverse:#0f172a;--border-light:#334155;--border-medium:#475569;--border-dark:#64748b;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.4);--shadow-md:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -4px rgba(0,0,0,.3);--hero-gradient:linear-gradient(135deg,#1e293b,#0f172a);--hero-pattern:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath fill='%23374151' d='M0 1000 1000 0v1000z'/%3E%3C/svg%3E")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(../fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(../fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(../fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(../fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(../fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400;src:url(../fonts/PlayfairDisplay-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:500;src:url(../fonts/PlayfairDisplay-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:600;src:url(../fonts/PlayfairDisplay-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(../fonts/PlayfairDisplay-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(../fonts/JetBrainsMono-Regular.woff2) format("woff2")}:root{--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-heading:"Playfair Display","Times New Roman",serif;--font-accent:"JetBrains Mono","Courier New",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--leading-loose:2;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.025em;--tracking-wider:.05em;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:300;src:url(../fonts/Manrope-ExtraLight.woff2) format("woff2")}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(../fonts/Manrope-ExtraLight.woff2) format("woff2")}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(../fonts/Manrope-ExtraLight.woff2) format("woff2")}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(../fonts/Manrope-ExtraLight.woff2) format("woff2")}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(../fonts/Manrope-ExtraLight.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lora;font-style:normal;font-weight:400;src:url(../fonts/Lora-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lora;font-style:normal;font-weight:500;src:url(../fonts/Lora-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lora;font-style:normal;font-weight:600;src:url(../fonts/Lora-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Lora;font-style:normal;font-weight:700;src:url(../fonts/Lora-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:300;src:url(../fonts/SourceSansPro-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(../fonts/SourceSansPro-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:600;src:url(../fonts/SourceSansPro-Regular.woff2) format("woff2")}:root[data-font-set=elegant]{--font-primary:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-heading:"Lora","Times New Roman",serif;--font-accent:"Source Sans Pro","Arial",sans-serif}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h1,h1{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin-bottom:var(--space-lg)}.h2,h2{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight)}.h2,.h3,h2,h3{color:var(--text-primary);font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin-bottom:var(--space-md)}.h3,h3{font-size:var(--text-3xl)}.h4,h4{color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin-bottom:var(--space-sm)}.h5,h5{font-size:var(--text-xl)}.h5,.h6,h5,h6{color:var(--text-primary);font-family:var(--font-primary);font-weight:var(--font-semibold);line-height:var(--leading-normal);margin-bottom:var(--space-sm)}.h6,h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-md)}.lead,p{line-height:var(--leading-relaxed)}.lead{font-size:var(--text-xl);font-weight:var(--font-light)}.small{font-size:var(--text-sm)}a{color:var(--primary-600);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-700);text-decoration:underline}ol,ul{margin-bottom:var(--space-md);padding-left:var(--space-lg)}li{color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-xs)}.text-hero{font-family:var(--font-heading);font-size:var(--text-6xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.text-subtitle{color:var(--text-secondary);font-family:var(--font-accent);font-size:var(--text-xl);font-weight:var(--font-light);line-height:var(--leading-relaxed)}.text-caption{color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-normal);letter-spacing:var(--tracking-wide);text-transform:uppercase}.text-caption,.text-price{font-family:var(--font-primary)}.text-price{color:var(--primary-600);font-size:var(--text-2xl);font-weight:var(--font-bold)}.text-price-old{color:var(--text-tertiary);font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-normal);text-decoration:line-through}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.text-accent{color:var(--accent-600)}.text-warning{color:var(--warning-600)}.text-error{color:var(--error-600)}.text-success{color:var(--success-600)}body{background:var(--bg-primary)}.h1,.h2,.h3,.h4,.h5,.h6,body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}.lead,p{color:var(--text-secondary)}.small{color:var(--text-tertiary)}a{color:var(--primary-500)}a:hover{color:var(--primary-400)}.hero-title{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);line-height:1.1;margin-bottom:var(--space-lg)}.hero-subtitle{font-family:var(--font-accent);font-size:clamp(1.125rem,2vw,1.5rem);font-weight:var(--font-light);line-height:var(--leading-relaxed);margin-bottom:var(--space-xl);opacity:.9}.tour-title{color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin-bottom:var(--space-xs)}.tour-location{color:var(--text-tertiary);margin-bottom:var(--space-sm)}.tour-description,.tour-location{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-normal)}.tour-description{color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-md)}.nav-brand{color:var(--primary-600);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold)}.filter-title{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-sm);text-transform:uppercase}.filter-title,.review-text{color:var(--text-secondary)}.review-text{font-family:var(--font-accent);font-size:var(--text-base);font-style:italic;font-weight:var(--font-normal);line-height:var(--leading-relaxed)}.review-author{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.btn-with-icon,.review-author{font-family:var(--font-primary)}.btn-with-icon{align-items:center;display:inline-flex;font-weight:var(--font-medium);gap:var(--space-xs)}@media(max-width:768px){:root{--text-5xl:2.5rem;--text-4xl:2rem;--text-3xl:1.75rem;--text-2xl:1.5rem;--text-xl:1.25rem;--text-lg:1.125rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--space-xs);justify-content:center;line-height:1.25rem;padding:var(--space-sm) var(--space-lg);text-decoration:none;transition:all .2s}.btn-primary:hover{background:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--secondary-500);color:var(--text-inverse)}.btn-secondary:hover{background:var(--secondary-600)}.btn-outline:hover{background:var(--gray-50);color:var(--primary-600)}.card{border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{border-bottom:1px solid var(--border-light)}.card-body,.card-footer,.card-header{padding:var(--space-lg)}.card-footer{background:var(--bg-secondary);border-top:1px solid var(--border-light)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-input{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:1rem;padding:var(--space-sm) var(--space-md);transition:all .2s}.form-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.form-select{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-sm) var(--space-md)}.badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.badge-primary{background:var(--primary-100);color:var(--primary-700)}.badge-secondary{background:var(--secondary-100);color:var(--secondary-700)}.badge-accent{background:var(--accent-100);color:var(--accent-700)}.badge-success{background:var(--success-50);color:var(--success-600)}.nav-link{border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;padding:var(--space-sm) var(--space-md);text-decoration:none;transition:all .2s}.nav-link.active,.nav-link:hover{background:var(--primary-50);color:var(--primary-600)}.form-input,.form-select{background:var(--bg-primary);border-color:var(--border-medium);color:var(--text-primary);transition:all .3s ease}.form-input:focus,.form-select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}.card{background:var(--bg-primary);border-color:var(--border-light);transition:all .3s ease}.btn-outline{background:transparent;border:1px solid var(--border-medium);color:var(--text-secondary)}.btn-outline:hover{background:var(--bg-secondary);border-color:var(--primary-500);color:var(--primary-500)}.hero-section{background:linear-gradient(135deg,var(--primary-500) 0,var(--primary-700) 100%);color:var(--text-inverse);overflow:hidden;position:relative}.hero-section:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath fill='%230ea5e9' d='M0 1000 1000 0v1000z'/%3E%3C/svg%3E");content:"";inset:0;opacity:.1;pointer-events:none;position:absolute}.tour-card{background:var(--bg-primary);border-radius:var(--radius-xl);overflow:hidden;position:relative}.tour-card__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.tour-card__badge{position:absolute;right:var(--space-md);top:var(--space-md)}.tour-card__price{color:var(--primary-600);font-size:1.25rem;font-weight:600}.tour-card__discount{color:var(--error-500);font-size:.875rem;text-decoration:line-through}.category-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-xl);text-align:center;transition:all .3s}.category-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.category-card__icon{align-items:center;background:var(--primary-100);border-radius:var(--radius-lg);color:var(--primary-600);display:flex;height:48px;justify-content:center;margin:0 auto var(--space-md);width:48px}.search-filters{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg)}.filter-group{margin-bottom:var(--space-lg)}.filter-label{color:var(--text-secondary);display:block;font-weight:500;margin-bottom:var(--space-sm)}.rating-stars{display:flex;gap:2px}.rating-star{color:var(--secondary-400)}.rating-star.empty{color:var(--gray-300)}.rating-value{color:var(--text-primary);font-weight:600;margin-left:var(--space-xs)}.search-filters{background:var(--bg-secondary)}.category-card,.search-filters{border-color:var(--border-light)}.category-card{background:var(--bg-primary)}.category-card:hover{background:var(--bg-secondary);border-color:var(--primary-300)}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-600:#4b5563;--gray-800:#1f2937;--gray-900:#111827;--white:#fff}*,:root{transition:color .3s ease,background-color .3s ease,border-color .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:color .3s ease,background-color .3s ease}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.btn{border:none;border-radius:.5rem;cursor:pointer;display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:var(--primary-500);color:var(--text-inverse)}.btn-primary:hover{background:var(--primary-600);transform:translateY(-1px)}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:.5rem;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .3s ease}
