:root { /* Color Variables */ --color-heading: #d3cab3; --color-button: #d28839; --color-paragraph: #c49c5c; --color-alterparagraph: #b07c4b; --color-border: #b07c4b; --color-dark: #0a0a0a; --color-input-bg: #e8e0d5; --color-text-light: #f5f5f5; /* Legacy color support (mapped to new colors) */ --color-gold: #d28839; /* Font Family Variables */ --font-menu: var(--font-canva-sans), sans-serif; --font-heading: 'Playfair Display', serif; --font-paragraph: var(--font-canva-sans), sans-serif; /* Legacy font support */ --font-playfair: 'Playfair Display', serif; --font-lato: var(--font-canva-sans), sans-serif; --font-cormorant: var(--font-canva-sans), sans-serif; /* Responsive Font Size Variables - Desktop Optimized */ --hero-title-size: 56px; --section-heading-size: 42px; --main-heading-size: 36px; --subheading-size: 22px; --body-size: 18px; --small-text-size: 16px; } * { box-sizing: border-box; padding: 0; margin: 0; } html, body { max-width: 100vw; overflow-x: hidden; background-color: var(--color-dark); color: var(--color-text-light); font-family: var(--font-paragraph); font-weight: 300; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a { color: inherit; text-decoration: none; } /* Global Heading Styles */ h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); color: var(--color-heading); } /* Global Paragraph Styles */ p { font-family: var(--font-paragraph); color: var(--color-paragraph); } /* Global Button Styles */ button { font-family: var(--font-paragraph); background-color: var(--color-button); } /* ===== H2 RESPONSIVE FONT SIZES ===== */ /* Desktop and Tablet Large: 992px and above - 48px */ h2 { font-size: 48px !important; } /* Tablet: 768px to 991px - 40px */ @media (max-width: 991px) and (min-width: 768px) { h2 { font-size: 40px !important; } } /* Mobile: 320px to 767px - 26px */ @media (max-width: 767px) { h2 { font-size: 30px !important; } } @media (max-width: 320px) { h2 { font-size: 26px !important; } } /* Global Border Utility */ .border-standard { border-color: var(--color-border); } /* ===== RESPONSIVE TYPOGRAPHY ===== */ /* ===== DESKTOP SIZES (1200px and above) ===== */ /* Extra Large Desktop: 1920px+ */ @media (min-width: 1920px) { :root { --hero-title-size: 56px; --section-heading-size: 44px; --main-heading-size: 38px; --subheading-size: 24px; --body-size: 19px; --small-text-size: 17px; } } /* Large Desktop: 1600px */ @media (max-width: 1919px) and (min-width: 1600px) { :root { --hero-title-size: 56px; --section-heading-size: 42px; --main-heading-size: 36px; --subheading-size: 22px; --body-size: 18px; --small-text-size: 16px; } } /* Desktop: 1540px */ @media (max-width: 1599px) and (min-width: 1540px) { :root { --hero-title-size: 56px; --section-heading-size: 40px; --main-heading-size: 35px; --subheading-size: 22px; --body-size: 18px; --small-text-size: 16px; } } /* Desktop: 1440px */ @media (max-width: 1539px) and (min-width: 1440px) { :root { --hero-title-size: 56px; --section-heading-size: 39px; --main-heading-size: 34px; --subheading-size: 21px; --body-size: 18px; --small-text-size: 16px; } } /* Desktop: 1360px */ @media (max-width: 1439px) and (min-width: 1360px) { :root { --hero-title-size: 47px; --section-heading-size: 38px; --main-heading-size: 33px; --subheading-size: 21px; --body-size: 17px; --small-text-size: 15px; } } /* Desktop/Laptop: 1200px */ @media (max-width: 1359px) and (min-width: 1200px) { :root { --hero-title-size: 47px; --section-heading-size: 36px; --main-heading-size: 32px; --subheading-size: 20px; --body-size: 17px; --small-text-size: 15px; } } /* ===== TABLET SIZES (768px - 1199px) ===== */ /* Laptop: 1024px */ @media (max-width: 1199px) and (min-width: 1024px) { :root { --hero-title-size: 44px; --section-heading-size: 32px; --main-heading-size: 28px; --subheading-size: 19px; --body-size: 16px; --small-text-size: 15px; } } /* Tablet Large: 992px */ @media (max-width: 1023px) and (min-width: 992px) { :root { --hero-title-size: 40px; --section-heading-size: 30px; --main-heading-size: 26px; --subheading-size: 18px; --body-size: 16px; --small-text-size: 15px; } } /* Tablet: 768px */ @media (max-width: 991px) and (min-width: 768px) { :root { --hero-title-size: 36px; --section-heading-size: 28px; --main-heading-size: 24px; --subheading-size: 17px; --body-size: 15px; --small-text-size: 14px; } } /* ===== MOBILE SIZES (below 768px) ===== */ /* Mobile Large: 500px */ @media (max-width: 767px) and (min-width: 500px) { :root { --hero-title-size: 36px; --section-heading-size: 26px; --main-heading-size: 22px; --subheading-size: 16px; --body-size: 15px; --small-text-size: 14px; } } /* Mobile: 475px */ @media (max-width: 499px) and (min-width: 475px) { :root { --hero-title-size: 34px; --section-heading-size: 24px; --main-heading-size: 21px; --subheading-size: 16px; --body-size: 15px; --small-text-size: 14px; } } /* Mobile: 424px */ @media (max-width: 474px) and (min-width: 424px) { :root { --hero-title-size: 32px; --section-heading-size: 23px; --main-heading-size: 20px; --subheading-size: 15px; --body-size: 14px; --small-text-size: 13px; } } /* Mobile Small: 320px */ @media (max-width: 423px) { :root { --hero-title-size: 28px; --section-heading-size: 21px; --main-heading-size: 20px; --subheading-size: 15px; --body-size: 14px; --small-text-size: 13px; } } /* Loading Spinner */ .loader { border: 4px solid #1a1a1a; border-top: 4px solid var(--color-button); /* Using existing gold/button color */ border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .google-review-card { background: #fff; border-radius: 12px; padding: 25px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); border: 1px solid #f0f0f0; height: 100%; transition: all 0.3s ease; display: flex; flex-direction: column; } .google-review-header { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; } .google-avatar { width: 60px; height: 60px; border-radius: 50%; background: #546e7a; color: #fff; font-weight: 600; font-size: 24px; display: flex; justify-content: center; align-items: center; overflow: hidden; flex-shrink: 0; } .google-avatar img { width: 100%; height: 100%; object-fit: cover; } .google-user-info { display: flex; flex-direction: column; } .google-name { font-size: 18px; font-weight: 700; color: #333; margin: 0; line-height: 1.2; } .google-stars { margin-top: 4px; } .google-stars span { font-size: 16px; color: #ffc107; margin-right: 2px; } .google-text { font-size: 15px; color: #555; line-height: 1.6; margin: 0; flex-grow: 1; } .google-review-images { display: flex; gap: 8px; margin-top: 15px; flex-wrap: wrap; } .google-review-photo { width: 70px; height: 70px; border-radius: 6px; object-fit: cover; border: 1px solid #eee; } .read-more-btn { background: transparent; border: none; color: #d32f2f; padding: 15px 0 0 0; font-size: 16px; cursor: pointer; font-weight: 700; text-align: center; width: 100%; display: block; margin-top: auto; } .read-more-btn:hover { text-decoration: underline; } .equal-height { min-height: 380px; } /* Home specific adjustments to maintain original layout density */ .google-review-card-home { padding: 0; }