.gwcre-widget,
.gwcre-review-form-widget { width: 100%; position: relative; box-sizing: border-box; background: transparent; }

.gwcre-heading { margin: 0 0 28px; line-height: 1.1; }
.gwcre-carousel-shell { position: relative; width: 100%; padding: 0 70px; box-sizing: border-box; display:flex; justify-content:center; align-items:center; }
.gwcre-carousel-stage { width: 88%; max-width: 1400px; box-sizing:border-box; }
.gwcre-slide-container { width:100%; }
.gwcre-review-card { box-sizing:border-box; width:100%; min-width:0; min-height:175px; background:transparent; border:0; border-radius:4px; padding:28px 54px 18px; box-shadow:var(--gwcre-shadow-x,0px) var(--gwcre-shadow-y,8px) var(--gwcre-shadow-blur,10px) var(--gwcre-shadow-spread,0px) var(--gwcre-shadow-color,rgba(0,0,0,.18)); display:flex; flex-direction:column; align-items:center; text-align:center; }
.gwcre-review-topline { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin:0 0 26px; width:100%; }
.gwcre-stars { --gwcre-star-size:23px; display:inline-flex; align-items:center; justify-content:center; gap:calc(var(--gwcre-star-size) * 0.2174); line-height:1; letter-spacing:0; }
.gwcre-star { display:inline-block; font-size:var(--gwcre-star-size, 23px); line-height:1; color:transparent; -webkit-text-stroke:1.5px #111; text-shadow:none; }
.gwcre-star.is-filled { color:#FFD400; -webkit-text-stroke:1.5px #111; }
.gwcre-product { display:block; margin:0 0 12px; color:inherit; text-decoration:none; font-weight:600; font-size:14px; }
.gwcre-product:hover { text-decoration:none; }
.gwcre-product-name { display:block; line-height:1.3; }
.gwcre-review-content { width:100%; max-width:900px; margin:0 auto; font-size:15px; line-height:1.55; }
.gwcre-review-content > :first-child { margin-top:0; }
.gwcre-review-content > :last-child { margin-bottom:0; }
.gwcre-review-meta { margin-top:20px; display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; font-size:14px; color:#757575; }
.gwcre-avatar,.gwcre-avatar img,.gwcre-avatar .avatar { width:38px; height:38px; border-radius:50%; }
.gwcre-avatar { flex:0 0 38px; overflow:hidden; margin-right:3px; }
.gwcre-avatar img,.gwcre-avatar .avatar { display:block; object-fit:cover; }
.gwcre-author { font-weight:600; color:#6e6e6e; }
.gwcre-date { color:#ababab; font-size:11px; }
.gwcre-verified { display:inline-flex; align-items:center; font-size:11px; line-height:1; padding:5px 8px; border-radius:999px; background:rgba(0,0,0,.05); }
.gwcre-arrow { --gwcre-arrow-diameter:48px; position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:48px; height:48px; padding:0; border:2px solid #d4d4d4; border-radius:50%; background:transparent; color:#d4d4d4; font-size:0; line-height:0; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:color .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease; box-sizing:border-box; }
.gwcre-arrow::before { content:''; display:block; position:relative; top:calc(var(--gwcre-arrow-diameter) * -0.04167); width:calc(var(--gwcre-arrow-diameter) * 0.1875); height:calc(var(--gwcre-arrow-diameter) * 0.1875); box-sizing:border-box; border:0 solid currentColor; }
.gwcre-arrow-prev::before { border-left:calc(var(--gwcre-arrow-diameter) * 0.04167) solid currentColor; border-bottom:calc(var(--gwcre-arrow-diameter) * 0.04167) solid currentColor; transform:rotate(45deg); margin-left:calc(var(--gwcre-arrow-diameter) * 0.0625); }
.gwcre-arrow-next::before { border-right:calc(var(--gwcre-arrow-diameter) * 0.04167) solid currentColor; border-bottom:calc(var(--gwcre-arrow-diameter) * 0.04167) solid currentColor; transform:rotate(-45deg); margin-right:calc(var(--gwcre-arrow-diameter) * 0.0625); }
.gwcre-arrow:hover:not(:disabled) { color:#8f8f8f; border-color:#8f8f8f; transform:translateY(-50%) scale(1.04); }
.gwcre-arrow:disabled { opacity:.65; cursor:default; }
.gwcre-arrow-prev { left:6px; }
.gwcre-arrow-next { right:6px; }
.gwcre-pagination { display:flex; justify-content:center; align-items:center; margin-top:16px; min-height:22px; }
.gwcre-page-indicator { font-size:12px; letter-spacing:.04em; color:#9b9b9b; }
.gwcre-empty,.gwcre-notice { width:100%; box-sizing:border-box; padding:24px; border-radius:8px; background:rgba(0,0,0,.04); text-align:center; }
.gwcre-is-loading .gwcre-review-card { opacity:.48; transition:opacity .2s ease; }

/* Global Write a Review */
.gwcre-review-form-inner { box-sizing:border-box; background:#fff; border:1px solid #ededed; box-shadow:0 8px 28px rgba(0,0,0,.10); border-radius:12px; padding:42px; width:100%; }
.gwcre-form-heading { margin:0 0 8px; color:#111; line-height:1.08; font-size:clamp(30px,4vw,48px); font-family:Georgia,'Times New Roman',serif; font-weight:500; }
.gwcre-form-intro { margin:0 0 26px; color:#6f6f6f; font-size:18px; line-height:1.45; }
.gwcre-review-form { border-top:1px solid #dedede; padding-top:28px; }
.gwcre-review-form .gwcre-form-row { display:flex; gap:20px; margin-bottom:22px; }
.gwcre-form-row-two > .gwcre-form-field { flex:1 1 0; min-width:0; }
.gwcre-form-field { width:100%; }
.gwcre-form-field label { display:block; margin-bottom:8px; font-weight:600; color:#111; font-size:16px; line-height:1.25; }
.gwcre-form-field label span { color:#d33; }
.gwcre-form-field input,.gwcre-form-field select,.gwcre-form-field textarea { box-sizing:border-box; width:100%; min-height:52px; border:1px solid #cfd2d5; border-radius:7px; padding:12px 15px 12px 10px; background:#fff; color:#222; font:inherit; outline:none; transition:border-color .18s ease,box-shadow .18s ease; }
.gwcre-form-field select { appearance:none !important; -webkit-appearance:none !important; padding-right:38px !important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23111' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat !important; background-position:calc(100% - 10px) center !important; background-size:14px 8px !important; cursor:pointer; }
.gwcre-form-field textarea { min-height:150px; resize:vertical; }
.gwcre-form-field input:focus,.gwcre-form-field select:focus,.gwcre-form-field textarea:focus { border-color:#8e8e8e; box-shadow:0 0 0 2px rgba(0,0,0,.05); }
/* Explicit left inset for the Name and Recipient Email fields. Use !important so theme/Elementor input rules cannot override it. */
.gwcre-review-form input[name="author"], .gwcre-review-form input[name="email"] { padding-left:10px !important; text-indent:0 !important; }
.gwcre-review-form input[name="author"]::placeholder, .gwcre-review-form input[name="email"]::placeholder { padding-left:0 !important; text-indent:0 !important; }
.gwcre-rating-input { display:inline-flex !important; flex-direction:row !important; align-items:center; justify-content:flex-start; gap:10px !important; width:auto !important; max-width:100%; }
.gwcre-rating-button { appearance:none !important; border:0 !important; background:transparent !important; background-color:transparent !important; box-shadow:none !important; padding:0 !important; margin:0 !important; width:auto !important; min-width:0 !important; max-width:none !important; flex:0 0 auto !important; display:inline-block !important; cursor:pointer; line-height:1 !important; color:transparent !important; -webkit-text-stroke:1.5px #111; font-size:32px; transition:transform .12s ease,color .12s ease; }
.gwcre-rating-button:hover { transform:scale(1.06); color:#FFD400 !important; }
.gwcre-rating-button.is-selected { color:#FFD400 !important; -webkit-text-stroke:1.5px #111; }
.gwcre-rating-button:focus-visible { outline:2px solid #111; outline-offset:3px; border-radius:3px; }
.gwcre-review-confirm { display:flex; align-items:flex-start; gap:10px; margin:2px 0 22px; }
.gwcre-review-confirm input[type="checkbox"] { appearance:none; -webkit-appearance:none; flex:0 0 28px; width:28px; height:28px; margin:0; border:1px solid #9b9b9b; border-radius:4px; background:#fff; cursor:pointer; position:relative; }
.gwcre-review-confirm input[type="checkbox"]:checked { background:#111; border-color:#111; }
.gwcre-review-confirm input[type="checkbox"]:checked::after { content:'✓'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:18px; font-weight:700; }
.gwcre-review-confirm label { margin:2px 0 0; color:#3e3e3e; font-size:15px; line-height:1.4; cursor:pointer; }
.gwcre-review-submit { box-sizing:border-box !important; display:flex !important; align-items:center !important; justify-content:center !important; width:var(--gwcre-button-width-desktop, 1200px) !important; max-width:100% !important; min-width:0 !important; min-height:50px; margin:0 0 0 var(--gwcre-button-margin-left-desktop, 0px) !important; padding:12px 28px !important; border:0 !important; cursor:pointer; font:inherit; font-weight:600; line-height:1.2 !important; text-align:center !important; text-indent:0 !important; white-space:normal !important; background:#222; background-image:none !important; color:#fff; border-radius:7px; transition:opacity .18s ease,background-color .18s ease,transform .12s ease; }
.gwcre-review-submit::before, .gwcre-review-submit::after { content:none !important; display:none !important; width:0 !important; height:0 !important; margin:0 !important; padding:0 !important; }
.gwcre-review-submit > .gwcre-submit-label { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; text-align:center !important; line-height:1.2 !important; }
.gwcre-review-submit svg, .gwcre-review-submit i, .gwcre-review-submit .elementor-button-icon { display:none !important; width:0 !important; }
.gwcre-review-submit:hover { opacity:.92; background:#111; transform:translateY(-1px); }
.gwcre-review-submit:disabled { opacity:.55; cursor:wait; transform:none; }
.gwcre-form-message { display:none; margin-bottom:18px; padding:11px 14px; border-radius:6px; }
.gwcre-form-message.is-visible { display:block; }
.gwcre-form-message.is-success { background:#edf8ef; color:#23612d; }
.gwcre-form-message.is-error { background:#fff0f0; color:#8a2525; }
.gwcre-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }

@media (min-width:768px) and (max-width:1279px) {
 .gwcre-review-submit { width:var(--gwcre-button-width-tablet, 1200px) !important; margin-left:var(--gwcre-button-margin-left-tablet, 0px) !important; max-width:100% !important; }
}

@media (max-width:767px) {
 .gwcre-review-submit { width:var(--gwcre-button-width-mobile, 1200px) !important; margin-left:var(--gwcre-button-margin-left-mobile, 0px) !important; max-width:100% !important; }

 .gwcre-carousel-shell { padding-left:48px; padding-right:48px; }
 .gwcre-carousel-stage { width:100%; }
 .gwcre-review-card { padding:24px 22px 17px; min-height:190px; }
 .gwcre-star { font-size:var(--gwcre-star-size, 21px); }
 .gwcre-review-content { font-size:14px; }
 .gwcre-arrow { width:38px; height:38px; }

 .gwcre-arrow-prev { left:0; } .gwcre-arrow-next { right:0; }
 .gwcre-review-form-inner { padding:30px 24px; border-radius:10px; }
 .gwcre-form-heading { font-size:34px; }
 .gwcre-form-intro { font-size:16px; }
 .gwcre-review-form .gwcre-form-row-two { flex-direction:column; }
}

@media (max-width:480px) {
 .gwcre-review-form-inner { padding:24px 16px; border-radius:8px; }
 .gwcre-form-heading { font-size:30px; }
 .gwcre-form-intro { font-size:15px; margin-bottom:20px; }
 .gwcre-review-form { padding-top:22px; }
 .gwcre-review-form .gwcre-form-row { gap:0; margin-bottom:18px; }
 .gwcre-form-field label { font-size:15px; }
 .gwcre-form-field input,.gwcre-form-field select,.gwcre-form-field textarea { min-height:48px; padding:11px 12px 11px 10px; font-size:15px; }
 .gwcre-form-field select { padding-right:34px !important; background-position:calc(100% - 10px) center !important; }
 .gwcre-form-field textarea { min-height:130px; }
 .gwcre-rating-input { gap:10px; max-width:100%; }
 .gwcre-rating-button { font-size:29px; }
 .gwcre-review-confirm { gap:8px; margin-bottom:18px; }
 .gwcre-review-confirm input[type="checkbox"] { flex-basis:24px; width:24px; height:24px; }
 .gwcre-review-confirm label { font-size:14px; }
 .gwcre-review-submit { width:var(--gwcre-button-width-mobile, 1200px) !important; max-width:100% !important; min-width:0 !important; min-height:50px; margin:0 0 0 var(--gwcre-button-margin-left-mobile, 0px) !important; padding:12px 18px !important; display:flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; }
 .gwcre-review-submit > .gwcre-submit-label { width:100% !important; text-align:center !important; }
 .gwcre-carousel-shell { padding-left:39px; padding-right:39px; }
 .gwcre-review-card { padding:21px 13px 15px; border-radius:5px; }
 .gwcre-stars { gap:calc(var(--gwcre-star-size, 19px) * 0.2174); }
 .gwcre-star { font-size:var(--gwcre-star-size, 19px); -webkit-text-stroke:1.25px #111; }
 .gwcre-review-topline { margin-bottom:18px; }
 .gwcre-review-content { font-size:13px; line-height:1.5; }
 .gwcre-review-meta { margin-top:15px; gap:7px; }
 .gwcre-arrow { width:32px; height:32px; }



 .gwcre-arrow-prev { left:1px; } .gwcre-arrow-next { right:1px; }
}
