/* assets/css/style.css */

/* Variables Definition for Navy Blue & Amber Corporate Theme */
:root {
    --clr-bg: #F4F6F9;              /* Light grayish-blue background */
    --clr-surface: #FFFFFF;         /* Crisp White */
    
    --clr-primary: #1E3A8A;         /* Deep Navy Blue */
    --clr-primary-hover: #172554;
    
    --clr-accent: #F59E0B;          /* Amber / Warm Orange */
    --clr-accent-hover: #D97706;
    
    --clr-text-main: #1E293B;       /* Very dark slate */
    --clr-text-body: #475569;       /* Slate gray */
    --clr-text-muted: #94A3B8;      /* Light gray */
    
    --clr-border: #E2E8F0;          /* Soft border */
    --clr-stars: #F59E0B;           /* Amber stars */

    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Open Sans', sans-serif;
    
    --shadow-card: 0 4px 6px -1px rgba(30, 58, 138, 0.1), 0 2px 4px -1px rgba(30, 58, 138, 0.06);
}

/* Global Font Settings */
.font-body { font-family: var(--font-body); }
.font-heading { font-family: var(--font-heading); }

/* Color Applications */
.site-bg { background-color: var(--clr-bg); }
.surface-bg { background-color: var(--clr-surface); }
.header-bg { background-color: var(--clr-surface); }
.footer-bg { background-color: var(--clr-surface); }

.header-text { color: var(--clr-primary); }
.text-primary { color: var(--clr-primary); }
.text-body { color: var(--clr-text-body); }
.text-muted { color: var(--clr-text-muted); }
.stars { color: var(--clr-stars); }

.border-regular { border: 1px solid var(--clr-border); }
.border-b-regular { border-bottom: 1px solid var(--clr-border); }
.border-t-regular { border-top: 1px solid var(--clr-border); }
.border-l-accent { border-left: 4px solid var(--clr-accent); }
.border-b-accent { border-bottom: 3px solid var(--clr-accent); }
.border-t-thick { border-top: 4px solid var(--clr-primary); }

.shadow-card { box-shadow: var(--shadow-card); }

/* Interactive Elements */
.cta-button {
    background-color: var(--clr-accent);
    color: var(--clr-surface);
    transition: background-color 0.3s ease, transform 0.2s ease;
}
.cta-button:hover {
    background-color: var(--clr-accent-hover);
    color: var(--clr-surface);
}

.footer-link {
    color: var(--clr-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}
.footer-link:hover {
    color: var(--clr-accent);
}

/* Specific UI Blocks */
.avatar-square {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    object-fit: cover;
    background-color: var(--clr-bg);
}

.review-image {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid var(--clr-border);
}

/* CSS Only Image Gallery */
.gallery-container {
    display: flex;
    flex-direction: column;
}

.gallery-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.gallery-main {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: var(--clr-surface);
    border-radius: 4px;
}

.gallery-main img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.gallery-thumbnails {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.thumb-box {
    cursor: pointer;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    display: block;
    overflow: hidden;
    background-color: var(--clr-surface);
    transition: border-color 0.2s ease, opacity 0.2s ease;
    border-width: 2px;
    border-radius: 4px;
    opacity: 0.7;
}

.thumb-box:hover {
    opacity: 1;
}

.thumb-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Gallery Radio Logic */
#view1:checked ~ .gallery-wrapper .gallery-thumbnails label[for="view1"],
#view2:checked ~ .gallery-wrapper .gallery-thumbnails label[for="view2"],
#view3:checked ~ .gallery-wrapper .gallery-thumbnails label[for="view3"],
#view4:checked ~ .gallery-wrapper .gallery-thumbnails label[for="view4"] {
    border-color: var(--clr-primary);
    opacity: 1;
}

#view1:checked ~ .gallery-wrapper .gallery-main .img-view1,
#view2:checked ~ .gallery-wrapper .gallery-main .img-view2,
#view3:checked ~ .gallery-wrapper .gallery-main .img-view3,
#view4:checked ~ .gallery-wrapper .gallery-main .img-view4 {
    opacity: 1;
    z-index: 10;
}