/*
Theme Name: Casa Concerto Modern
Theme URI: https://casaconcerto.ch
Author: Antigravity
Author URI: https://casaconcerto.ch
Description: Ein exklusives, modernes WordPress-Theme für die Pensione Casa Concerto in Rossorino / Brissago am Lago Maggiore (Schweiz). Responsive, luxeriös und auf dem neuesten Stand für 2026.
Version: 1.0.0
Text Domain: casaconcerto
*/

:root {
  /* Mediterranean Ticino Color Palette */
  --cc-navy: #182430;
  --cc-navy-light: #223446;
  --cc-terracotta: #C86D51;
  --cc-terracotta-hover: #b05c42;
  --cc-gold: #D4A373;
  --cc-gold-light: #E9C46A;
  --cc-gold-dark: #B88856;
  --cc-olive: #4A5844;
  --cc-sand: #FAF7F2;
  --cc-sand-dark: #F0EAE1;
  --cc-white: #FFFFFF;
  --cc-dark: #141A21;
  --cc-text: #2C353F;
  --cc-text-muted: #6B7785;
  --cc-border: rgba(212, 163, 115, 0.22);
  --cc-border-light: rgba(0, 0, 0, 0.08);

  /* Typography */
  --cc-font-serif: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  --cc-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Shadows */
  --cc-shadow-sm: 0 2px 8px rgba(24, 36, 48, 0.06);
  --cc-shadow-md: 0 8px 24px rgba(24, 36, 48, 0.08);
  --cc-shadow-lg: 0 16px 40px rgba(24, 36, 48, 0.12);
  --cc-shadow-glow: 0 0 25px rgba(212, 163, 115, 0.35);

  /* Glassmorphism */
  --cc-glass-bg: rgba(255, 255, 255, 0.88);
  --cc-glass-border: rgba(255, 255, 255, 0.5);
  --cc-glass-blur: blur(16px);

  /* Spacing */
  --cc-container: 1240px;
  --cc-radius-sm: 8px;
  --cc-radius-md: 14px;
  --cc-radius-lg: 22px;
  --cc-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Global Reset & Base */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
}

body {
  font-family: var(--cc-font-sans);
  background-color: var(--cc-sand);
  color: var(--cc-text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cc-font-serif);
  color: var(--cc-navy);
  font-weight: 600;
  line-height: 1.25;
}

p {
  margin-bottom: 1.25rem;
}

p:last-child {
  margin-bottom: 0;
}

a {
  color: var(--cc-terracotta);
  text-decoration: none;
  transition: var(--cc-transition);
}

a:hover {
  color: var(--cc-gold-dark);
}

img, picture, svg, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Utility Containers */
.cc-container {
  width: 100%;
  max-width: var(--cc-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (max-width: 640px) {
  .cc-container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.cc-container-narrow {
  max-width: 860px;
}

.cc-section {
  padding: 5rem 0;
  position: relative;
}

@media (max-width: 768px) {
  .cc-section {
    padding: 3rem 0;
  }
}
