/* ============================================================
   Google Reviews — Frontend v2.0
   Layouts: slider · coverflow · grid · grid2
   Styles : minimal · shadow · flat3d · banner
   ============================================================ */
.grs-wrap {
    --grs-blue:#4285F4; --grs-star:#fbbc05; --grs-bg:#fff;
    --grs-border:#e6e8eb; --grs-text:#202124; --grs-muted:#5f6368;
    --grs-radius:16px;
    max-width:1180px; margin:0 auto; padding:8px 0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    box-sizing:border-box;
}
.grs-wrap *,.grs-wrap *::before,.grs-wrap *::after{box-sizing:border-box;}

/* ---------- Header ---------- */
.grs-header{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding:0 6px;}
.grs-header-txt h3{margin:0 0 4px;font-size:1.35rem;font-weight:700;color:var(--grs-text);line-height:1.2;}
.grs-header-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.grs-avg{font-weight:700;font-size:1.1rem;color:#e7711b;}
.grs-avg-stars{color:var(--grs-star);letter-spacing:1px;}
.grs-count{color:var(--grs-muted);font-size:.9rem;}

/* ---------- Slider shell ---------- */
.grs-slider{position:relative;display:flex;align-items:center;}
.grs-track-wrap{overflow:hidden;width:100%;flex:1 1 auto;}
.grs-track{display:flex;gap:20px;align-items:stretch;transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform;}

/* ---------- Card base (photo + content çocukları) ---------- */
.grs-card-item{
    flex:0 0 auto; flex-shrink:0; max-width:none; width:300px;
    background:var(--grs-bg); border:1px solid var(--grs-border);
    border-radius:var(--grs-radius); padding:20px;
    color:var(--grs-text); display:flex; flex-direction:column;
    cursor:pointer; outline:none; position:relative;
    transition:box-shadow .25s ease,border-color .25s ease,transform .35s ease;
}
.grs-content{display:flex;flex-direction:column;flex:1 1 auto;}
.grs-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.grs-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.grs-avatar-letter{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4285F4,#34A853);color:#fff;font-weight:700;font-size:1.15rem;}
.grs-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:2px;}
.grs-name{font-weight:600;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.grs-stars{color:var(--grs-star);font-size:.95rem;letter-spacing:1px;line-height:1;}
.grs-stars .off{color:#dadce0;}
.grs-date{color:var(--grs-muted);font-size:.78rem;}
.grs-g-badge{flex:0 0 auto;align-self:flex-start;}

.grs-body{display:flex;flex-direction:column;flex:1 1 auto;}
.grs-text{
    color:#3c4043;font-size:.92rem;line-height:1.55;margin:0 0 12px;
    display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.grs-card-item.is-open .grs-text{display:block;-webkit-line-clamp:unset;overflow:visible;}

/* ---------- Photo (1:1) ---------- */
.grs-photo-wrap{margin:0 0 14px;width:100%;cursor:zoom-in;position:relative;z-index:1;}
.grs-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:calc(var(--grs-radius) * .55);cursor:zoom-in;display:block;touch-action:manipulation;}

/* ---------- Toggle + actions ---------- */
.grs-toggle{background:none;border:none;padding:0;color:var(--grs-blue);font-size:.85rem;font-weight:600;cursor:pointer;margin-bottom:10px;align-self:flex-start;font-family:inherit;}
.grs-toggle:hover{text-decoration:underline;}
.grs-card-item.is-short .grs-toggle{display:none;}

.grs-actions{display:none;flex-direction:column;gap:8px;margin-top:auto;}
.grs-card-item.is-open .grs-actions{display:flex;animation:grs-fade .3s ease;}
@keyframes grs-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.grs-google-link,.grs-cta{display:block;text-align:center;text-decoration:none;font-size:.85rem;font-weight:600;padding:10px 14px;border-radius:10px;transition:background .2s,transform .15s,box-shadow .2s,filter .2s;}
.grs-google-link{color:#fff;background:var(--grs-blue);}
.grs-google-link:hover{filter:brightness(.92);color:#fff;transform:translateY(-1px);}
.grs-cta{color:var(--grs-blue);background:transparent;border:1.5px solid var(--grs-blue);}
.grs-cta:hover{background:color-mix(in srgb, var(--grs-blue) 10%, transparent);color:var(--grs-blue);transform:translateY(-1px);}

/* ---------- Arrows ---------- */
.grs-arrow{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--grs-border);background:#fff;color:var(--grs-text);font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(60,64,67,.14);transition:background .2s,transform .2s,opacity .2s;z-index:3;user-select:none;align-self:center;}
.grs-arrow:hover{background:#f1f3f4;transform:scale(1.06);}
.grs-arrow:disabled{opacity:.35;cursor:default;}
.grs-prev{margin-right:10px;}.grs-next{margin-left:10px;}
.grs-no-arrows .grs-arrow{display:none;}

/* ---------- Dots ---------- */
.grs-dots{display:flex;justify-content:center;gap:8px;margin-top:20px;}
.grs-dots button{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:#dadce0;cursor:pointer;transition:all .25s ease;}
.grs-dots button.active{background:var(--grs-blue);width:22px;border-radius:5px;}

/* ============================================================
   STYLE VARIANTS
   ============================================================ */
/* Minimal */
.grs-style-minimal .grs-card-item{box-shadow:none;border:1px solid var(--grs-border);}
.grs-style-minimal .grs-card-item:hover{border-color:#bcc0c4;}

/* Shadow (default) */
.grs-style-shadow .grs-card-item{border-color:transparent;box-shadow:0 4px 18px rgba(60,64,67,.10);}
.grs-style-shadow .grs-card-item:hover{box-shadow:0 12px 32px rgba(60,64,67,.18);}

/* 3D */
.grs-style-flat3d .grs-card-item{border:none;box-shadow:0 1px 0 #d9dce0,0 10px 24px rgba(60,64,67,.16);transform:perspective(900px) rotateX(2deg);}
.grs-style-flat3d .grs-card-item:hover{transform:perspective(900px) rotateX(0) translateY(-4px);box-shadow:0 18px 40px rgba(60,64,67,.24);}

/* Banner (yatay): görsel solda kare, içerik sağda */
.grs-style-banner .grs-card-item{box-shadow:0 4px 18px rgba(60,64,67,.10);border-color:transparent;}
.grs-style-banner .grs-card-item.has-photo{flex-direction:row;align-items:stretch;gap:18px;}
.grs-style-banner .grs-card-item.has-photo .grs-photo-wrap{flex:0 0 40%;max-width:40%;margin:0;display:flex;}
.grs-style-banner .grs-card-item.has-photo .grs-photo{aspect-ratio:1/1;height:100%;width:100%;}
.grs-style-banner .grs-card-item.has-photo .grs-content{flex:1 1 auto;min-width:0;}

/* ============================================================
   LAYOUT VARIANTS
   ============================================================ */
/* Grid — sütun sayısı JS ile (grid-template-columns) verilir */
.grs-layout-grid .grs-slider,
.grs-layout-grid2 .grs-slider{display:block;}
.grs-layout-grid .grs-track-wrap,
.grs-layout-grid2 .grs-track-wrap{overflow:visible;}
.grs-layout-grid .grs-track,
.grs-layout-grid2 .grs-track{display:grid !important;gap:20px;transform:none !important;transition:none !important;grid-template-columns:repeat(var(--grs-cols-d,3),minmax(0,1fr));}
.grs-layout-grid .grs-card-item,
.grs-layout-grid2 .grs-card-item{width:auto !important;}
@media(max-width:900px){
    .grs-layout-grid .grs-track,
    .grs-layout-grid2 .grs-track{grid-template-columns:repeat(var(--grs-cols-t,2),minmax(0,1fr));}
}
@media(max-width:600px){
    .grs-layout-grid .grs-track,
    .grs-layout-grid2 .grs-track{grid-template-columns:repeat(var(--grs-cols-m,1),minmax(0,1fr));}
}

/* Coverflow: aktif kart ortada büyük, komşular soluk/küçük */
.grs-layout-coverflow .grs-track-wrap{overflow:visible;}
.grs-layout-coverflow .grs-track{align-items:center;}
.grs-layout-coverflow .grs-card-item{
    transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s,box-shadow .3s;
    opacity:.45; transform:scale(.9);
}
.grs-layout-coverflow .grs-card-item.grs-center{
    opacity:1; transform:scale(1); z-index:2;
    box-shadow:0 20px 50px rgba(60,64,67,.25);
}

/* ---------- Responsive ---------- */
@media(max-width:900px){.grs-arrow{width:38px;height:38px;font-size:1.4rem;}}
@media(max-width:600px){
    .grs-header-txt h3{font-size:1.15rem;}
    .grs-card-item{padding:16px;}
    /* mobilde banner yine yatay ama görsel biraz daha küçük */
    .grs-style-banner .grs-card-item.has-photo{gap:12px;}
    .grs-style-banner .grs-card-item.has-photo .grs-photo-wrap{flex:0 0 38%;max-width:38%;}
}

/* ---------- Lightbox ---------- */
.grs-lightbox{position:fixed;inset:0;z-index:2147483600;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:24px;}
.grs-lightbox img{max-width:94vw;max-height:90vh;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.5);}
.grs-lightbox-close{position:absolute;top:18px;right:24px;background:none;border:none;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;}

/* ---------- Mobil/Masaüstü görünürlük yardımcıları ---------- */
.grs-only-desktop{display:block;}
.grs-only-mobile{display:none;}
@media(max-width:768px){
    .grs-only-desktop{display:none !important;}
    .grs-only-mobile{display:block !important;}
}
