/* ═══════════════════════════════════════════════
   Velocity Widgets - Core Styles
   v1.0.0 | velocitybusiness.net
   ═══════════════════════════════════════════════ */

:root {
    --vw-primary: #4285F4;
    --vw-star-color: #FBBC05;
    --vw-star-empty: #dadce0;
    --vw-text: #202124;
    --vw-text-secondary: #5f6368;
    --vw-bg: #ffffff;
    --vw-card-bg: #ffffff;
    --vw-border: #e8eaed;
    --vw-shadow: 0 1px 6px rgba(32, 33, 36, 0.08);
    --vw-shadow-hover: 0 4px 16px rgba(32, 33, 36, 0.14);
    --vw-radius: 12px;
    --vw-gap: 16px;
    --vw-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --vw-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
}

/* Themes */
.vw-theme-dark {
    --vw-text: #e8eaed;
    --vw-text-secondary: #9aa0a6;
    --vw-bg: #1a1a2e;
    --vw-card-bg: #202040;
    --vw-border: #2d2d50;
    --vw-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
    --vw-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.vw-theme-transparent {
    --vw-bg: transparent;
    --vw-card-bg: transparent;
    --vw-shadow: none;
    --vw-shadow-hover: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Base */
.vw-reviews,
.vw-gallery,
.vw-business-card,
.vw-hours,
.vw-map,
.vw-place-photos,
.vw-combined {
    font-family: var(--vw-font);
    color: var(--vw-text);
    line-height: 1.6;
    box-sizing: border-box;
}

.vw-reviews *,
.vw-gallery *,
.vw-business-card *,
.vw-hours *,
.vw-map *,
.vw-place-photos *,
.vw-combined * {
    box-sizing: border-box;
}

/* Stars */
.vw-stars {
    display: inline-flex;
    gap: 1px;
    line-height: 1;
}

.vw-star {
    font-size: 18px;
    line-height: 1;
}

.vw-star-full { color: var(--vw-star-color); }
.vw-star-half { color: var(--vw-star-color); opacity: 0.6; }
.vw-star-empty { color: var(--vw-star-empty); }

/* Carousel Buttons (shared) */
.vw-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: var(--vw-card-bg);
    color: var(--vw-text);
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--vw-transition);
}

.vw-carousel-btn:hover {
    box-shadow: var(--vw-shadow-hover);
    transform: translateY(-50%) scale(1.1);
}

.vw-prev { left: -12px; }
.vw-next { right: -12px; }

/* Credit */
.vw-credit {
    text-align: center;
    padding: 12px 0 4px;
    font-size: 11px;
    color: var(--vw-text-secondary);
    opacity: 0.6;
}

.vw-credit a {
    color: var(--vw-text-secondary);
    text-decoration: none;
}

.vw-credit a:hover {
    text-decoration: underline;
}

/* Google Icon */
.vw-google-icon {
    flex-shrink: 0;
}
