/* Guest Reviews by TAMARA & Co. */
.tco-gr{
	--tco-accent:#2f4a3a;
	--tco-ink:#1f2421;
	--tco-muted:#6b716d;
	--tco-line:#e6e4de;
	--tco-card:#fff;
	--tco-soft:#f7f5f0;
	--tco-star:#e0a526;
	--tco-airbnb:#e0565b;
	--tco-vrbo:#1d4ed8;
	color:var(--tco-ink);
	font-size:16px;
	line-height:1.55;
	box-sizing:border-box;
}
.tco-gr *,.tco-gr *::before,.tco-gr *::after{box-sizing:border-box}
.tco-gr-wall{background:transparent!important}
.tco-gr .tco-gr-card{background:#fff}
.tco-stars{display:inline-flex;gap:1px;color:var(--tco-star);vertical-align:middle}
.tco-stars svg{display:block}

/* Summary */
.tco-gr-summary{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;padding-bottom:24px;margin-bottom:22px;border-bottom:1px solid var(--tco-line)}
.tco-gr-summary__title{margin:0 0 10px;font-size:clamp(26px,3.2vw,36px);line-height:1.15}
.tco-gr-summary__score{display:flex;align-items:center;gap:14px}
.tco-gr-summary__num{font-size:clamp(44px,5vw,60px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--tco-accent)}
.tco-gr-summary__sub{margin-top:4px;color:var(--tco-muted);font-size:14.5px}
.tco-gr-summary__channels{display:flex;flex-wrap:wrap;gap:10px}
.tco-gr-chip{display:flex;flex-direction:column;gap:2px;min-width:118px;padding:10px 16px;border:1px solid var(--tco-line);border-radius:14px;background:transparent;text-decoration:none;color:inherit;border-top:3px solid var(--tco-accent);transition:transform .15s,box-shadow .15s}
.tco-gr-chip{cursor:pointer;user-select:none}
.tco-gr-chip:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.07)}
.tco-gr-chip.is-active{background:#fff;box-shadow:0 0 0 2px var(--tco-accent)}
.tco-gr-chip:focus:not(:focus-visible){outline:none}
.tco-gr-chip--airbnb{border-top-color:var(--tco-airbnb)}
.tco-gr-chip--vrbo{border-top-color:var(--tco-vrbo)}
.tco-gr-chip__name{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--tco-muted);font-weight:600}
.tco-gr-chip__val{font-weight:700;font-size:18px}
.tco-gr-chip__val small{font-weight:500;color:var(--tco-muted);font-size:14px}

/* Tabs */
.tco-gr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.tco-gr-tabs button{appearance:none;border:1px solid var(--tco-line);background:transparent;color:var(--tco-ink);font:inherit;font-size:14.5px;font-weight:600;padding:8px 18px;border-radius:999px;cursor:pointer;line-height:1.2}
.tco-gr-tabs button:hover{border-color:var(--tco-accent)}
.tco-gr-tabs button.is-active{background:var(--tco-accent);border-color:var(--tco-accent);color:#fff}

/* Grid */
.tco-gr-grid{display:grid;grid-template-columns:repeat(var(--tco-cols,4),minmax(0,1fr));gap:20px;align-items:stretch}
.tco-gr-card{display:flex;flex-direction:column;gap:12px;margin:0;padding:22px;background:var(--tco-card);border:1px solid var(--tco-line);border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.tco-gr-card[hidden]{display:none}
.tco-gr-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tco-gr-pill{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--tco-accent) 12%,#fff);color:var(--tco-accent)}
.tco-gr-pill--airbnb{background:#fdeced;color:#c13f45}
.tco-gr-pill--vrbo{background:#e8eefc;color:var(--tco-vrbo)}
.tco-gr-pill--icon{display:inline-flex;align-items:center;gap:5px}
.tco-gr-logo{display:inline-flex;align-items:center;flex:none}
.tco-gr-logo img{display:block;width:auto;max-width:96px;object-fit:contain}
.tco-gr-logo--card img{height:20px}
.tco-gr-logo--chip img{height:18px}
.tco-gr-chip__name .tco-gr-pill{padding:0;background:none;font-size:12.5px;letter-spacing:.06em;color:var(--tco-muted)}
/* Review text: a fixed number of lines (set by lines="" on the shortcode, default 4)
   with a soft fade. Line-height is pinned so themes can't change the box height. */
.tco-gr .tco-gr-card__text,.tco-gr .tco-gr-card__text p{font-size:15.5px!important;line-height:1.55!important}
.tco-gr .tco-gr-card__text{position:relative;overflow:hidden;height:calc(var(--tco-lines,4) * 1.55em);flex:none}
.tco-gr .tco-gr-card__text p{margin:0 0 .6em!important;padding:0!important}
.tco-gr .tco-gr-card__text p:last-child{margin-bottom:0!important}
.tco-gr .tco-gr-card__text.is-long::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.55em;background:linear-gradient(rgba(255,255,255,0),var(--tco-card));pointer-events:none}
.tco-gr .tco-gr-card__text.is-open{height:auto}
.tco-gr .tco-gr-card__text.is-open::after{display:none}
/* Themes often restyle buttons and override [hidden]. */
.tco-gr [hidden]{display:none!important}
.tco-gr-more{align-self:flex-start;appearance:none;background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:700;color:var(--tco-accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tco-gr-card{position:relative}
/* Host reply: small light-grey link in the card's bottom-right corner.
   Opening it lays the reply over the review text, so card heights never change. */
.tco-gr-reply{margin:0 0 0 auto;align-self:flex-end;font-size:12.5px}
.tco-gr-reply>summary{display:inline-flex;align-items:center;gap:5px;cursor:pointer;list-style:none;font-weight:500;font-size:12.5px;color:#9a9f9b;text-decoration:none;white-space:nowrap;padding:2px 0}
.tco-gr-reply>summary:hover{color:var(--tco-ink)}
.tco-gr-reply>summary::-webkit-details-marker{display:none}
.tco-gr-reply>summary:focus:not(:focus-visible){outline:none}
.tco-gr-reply>summary::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.tco-gr-reply[open]>summary{color:var(--tco-ink)}
.tco-gr-reply[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.tco-gr-reply__body{position:absolute;z-index:2;left:14px;right:14px;top:14px;bottom:76px;overflow:auto;padding:16px 18px;background:var(--tco-card);border:1px solid var(--tco-line);border-left:3px solid var(--tco-accent);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08);font-size:14.5px;line-height:1.55;color:#3d433f;text-align:left}
.tco-gr-reply__body strong{display:block;margin-bottom:6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--tco-muted)}
.tco-gr-reply__body p{margin:0 0 .5em}
.tco-gr-reply__body p:last-child{margin:0}
.tco-gr-card__who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--tco-line)}
.tco-gr-avatar{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tco-accent);color:#fff;font-weight:700}
.tco-gr-name{display:flex;align-items:center;gap:5px;font-weight:700;line-height:1.25}
.tco-gr-verified{color:#2f8f5b;display:inline-flex}
.tco-gr-meta{display:block;font-size:13.5px;color:var(--tco-muted)}
.tco-gr-empty{color:var(--tco-muted)}
.tco-gr-loadmore-wrap{text-align:center;margin-top:26px}
.tco-gr-loadmore{appearance:none;font:inherit;font-weight:700;font-size:15px;padding:12px 26px;border-radius:999px;border:1.5px solid var(--tco-accent);color:var(--tco-accent);background:transparent;cursor:pointer}
.tco-gr-loadmore:hover{background:var(--tco-accent);color:#fff}

/* CTA */
.tco-gr-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:28px;padding:22px 26px;border-radius:18px;background:var(--tco-accent);color:#fff}
.tco-gr-cta p{margin:0;font-size:clamp(17px,2vw,21px);font-weight:600}
.tco-gr-btn{display:inline-block;appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:15.5px;padding:13px 26px;border-radius:999px;background:var(--tco-accent);color:#fff;text-decoration:none;line-height:1.2}
.tco-gr-cta .tco-gr-btn{background:#fff;color:var(--tco-accent)}
.tco-gr-btn:hover{filter:brightness(1.08);color:#fff}
.tco-gr-cta .tco-gr-btn:hover{color:var(--tco-accent)}

/* Badge */
.tco-gr-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;text-decoration:none;font-size:14.5px;line-height:1.2;backdrop-filter:blur(6px)}
.tco-gr-badge strong{font-weight:700}
.tco-gr-badge__sep{width:1px;height:14px;background:currentColor;opacity:.35}
.tco-gr-badge--light{background:#fff;color:var(--tco-ink);border:1px solid var(--tco-line);box-shadow:0 2px 10px rgba(0,0,0,.06)}
a.tco-gr-badge:hover{color:inherit;filter:brightness(1.05)}

/* Form */
.tco-gr-form-wrap{max-width:680px}
.tco-gr-form{display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid var(--tco-line);border-radius:20px;background:var(--tco-card)}
.tco-gr-hello{margin:0;font-size:18px;font-weight:600}
.tco-gr-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tco-gr-rate{border:0;margin:0;padding:0}
.tco-gr-rate legend{font-weight:700;font-size:14px;margin-bottom:4px;padding:0}
.tco-gr-rate__stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.tco-gr-rate__stars input{position:absolute;opacity:0;width:1px;height:1px}
.tco-gr-rate__stars label{font-size:36px;line-height:1;color:#d9d6ce;cursor:pointer;transition:color .1s,transform .1s}
.tco-gr-rate__stars label:hover,.tco-gr-rate__stars label:hover~label,.tco-gr-rate__stars input:checked~label{color:var(--tco-star)}
.tco-gr-rate__stars input:focus-visible+label{outline:2px solid var(--tco-accent);outline-offset:2px;border-radius:4px}
.tco-gr-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tco-gr-field{display:flex;flex-direction:column;gap:6px}
.tco-gr-field>span{font-weight:700;font-size:14px}
.tco-gr-field em{font-weight:400;color:var(--tco-muted);font-style:normal}
.tco-gr-field input,.tco-gr-field textarea,.tco-gr-field select{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #d6d3cb;border-radius:12px;background:#fff;color:var(--tco-ink)}
.tco-gr-field input:focus,.tco-gr-field textarea:focus,.tco-gr-field select:focus{outline:none;border-color:var(--tco-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tco-accent) 18%,transparent)}
.tco-gr-form .tco-gr-btn{align-self:flex-start}
.tco-gr-help{margin:-6px 0 0;font-size:14px;color:var(--tco-muted)}
.tco-gr-note{padding:12px 16px;border-radius:12px;background:var(--tco-soft);font-size:15px}
.tco-gr-note--err{background:#fdeced;color:#8f2a2f}
.tco-gr-thanks{padding:32px;border-radius:20px;background:var(--tco-soft);text-align:center}
.tco-gr-thanks h3{margin:0 0 6px;color:var(--tco-accent)}
.tco-gr-thanks p{margin:0}

@media (max-width:1024px){
	.tco-gr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
	.tco-gr-grid{grid-template-columns:1fr}
	.tco-gr-summary{align-items:flex-start}
	.tco-gr-summary__channels{width:100%}
	.tco-gr-chip{flex:1 1 calc(50% - 10px);min-width:0}
	.tco-gr-row{grid-template-columns:1fr}
	.tco-gr-form{padding:20px}
	.tco-gr-card{padding:18px}
	.tco-gr-cta{flex-direction:column;align-items:flex-start}
}
.tco-gr-more:focus:not(:focus-visible){outline:none}
/* Keep the "Read more" slot on every card so all rows are the same height. */
.tco-gr .tco-gr-card .tco-gr-more[hidden]{display:inline-block!important;visibility:hidden}
/* Neutralize theme styles on details/summary so the footer stays one line tall. */
.tco-gr .tco-gr-card__who .tco-gr-reply{padding:0!important;margin:0 0 0 auto!important;border:0!important;background:none!important;box-shadow:none!important;align-self:center}
.tco-gr .tco-gr-card__who .tco-gr-reply>summary{padding:0!important;margin:0!important;line-height:1.3!important;border:0!important;background:none!important;font-size:12.5px!important}
/* Footer: name block takes the space, reply link stays on one line. */
.tco-gr .tco-gr-card__who>span:nth-child(2){flex:1 1 auto;min-width:0}
.tco-gr .tco-gr-meta,.tco-gr .tco-gr-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tco-gr .tco-gr-card__who .tco-gr-reply{flex:none}
.tco-gr .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Rounded white panel option ---------- */
.tco-gr-wall.tco-gr-wall--panel{background:#fff!important;border-radius:28px;padding:clamp(20px,3vw,40px);overflow:hidden}
.tco-gr-wall--panel .tco-gr-card{box-shadow:none}

/* ---------- Lock our controls against theme / Elementor global button styles ---------- */
.tco-gr .tco-gr-tabs button,
.tco-gr .tco-gr-tabs button:hover,
.tco-gr .tco-gr-tabs button:focus,
.tco-gr .tco-gr-tabs button:active{background:transparent!important;color:var(--tco-ink)!important;border:1px solid var(--tco-line)!important;box-shadow:none!important;text-decoration:none!important;transform:none!important;font-family:inherit!important;font-size:14.5px!important;font-weight:600!important;line-height:1.2!important;padding:8px 18px!important;border-radius:999px!important;text-transform:none!important;letter-spacing:normal!important}
.tco-gr .tco-gr-tabs button:hover{border-color:var(--tco-accent)!important;color:var(--tco-accent)!important}
.tco-gr .tco-gr-tabs button.is-active,
.tco-gr .tco-gr-tabs button.is-active:hover,
.tco-gr .tco-gr-tabs button.is-active:focus{background:var(--tco-accent)!important;border-color:var(--tco-accent)!important;color:#fff!important}
.tco-gr .tco-gr-more,
.tco-gr .tco-gr-more:hover,
.tco-gr .tco-gr-more:focus,
.tco-gr .tco-gr-more:active{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--tco-accent)!important;font-family:inherit!important;font-size:14px!important;font-weight:700!important;text-transform:none!important;letter-spacing:normal!important;text-decoration:underline!important;text-underline-offset:3px}
.tco-gr .tco-gr-loadmore,
.tco-gr .tco-gr-loadmore:focus{background:transparent!important;color:var(--tco-accent)!important;border:1.5px solid var(--tco-accent)!important;box-shadow:none!important;font-family:inherit!important;font-size:15px!important;font-weight:700!important;padding:12px 26px!important;border-radius:999px!important;text-transform:none!important;letter-spacing:normal!important}
.tco-gr .tco-gr-loadmore:hover,
.tco-gr .tco-gr-loadmore:active{background:var(--tco-accent)!important;color:#fff!important;border-color:var(--tco-accent)!important}
.tco-gr a.tco-gr-btn,.tco-gr a.tco-gr-btn:hover{text-decoration:none!important}
.tco-gr .tco-gr-cta a.tco-gr-btn,.tco-gr .tco-gr-cta a.tco-gr-btn:hover{background:#fff!important;color:var(--tco-accent)!important}
.tco-gr .tco-gr-reply>summary:hover{background:none!important}
/* Logos: PNG/JPG/SVG all fit the same slot */
.tco-gr .tco-gr-logo img{display:block!important;width:auto!important;max-width:110px!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
.tco-gr .tco-gr-logo--card img{height:22px!important}
.tco-gr .tco-gr-logo--chip img{height:20px!important}

/* Review form anywhere ([tco_review_form] on any page): Submit keeps its own colors in every state (no theme pink). */
.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn,.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:hover,.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:focus,.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:focus-visible,.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:active{background-color:var(--tco-accent);border:0;color:#fff;text-decoration:none}
.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:hover,.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:focus-visible{filter:brightness(1.08)}
.tco-gr.tco-gr-form-wrap .tco-gr-form .tco-gr-btn:focus-visible{outline:2px solid var(--tco-accent);outline-offset:3px}
/* The form uses the site's body font (Elementor's global Text font, e.g. Work Sans), like the review slider. */
.tco-gr.tco-gr-form-wrap{font-family:var(--tco-rs-font,var(--e-global-typography-text-font-family,inherit)),sans-serif}
/* Review form photos */
.tco-gr-photos>label span{font-weight:700;font-size:14px}
.tco-gr-photos>label em{font-weight:400;color:var(--tco-muted);font-style:normal}
.tco-gr-photos input[type=file]{font:inherit;font-size:15px;padding:10px 12px;border:1px dashed #c9c5bb;border-radius:12px;background:#fff;width:100%;max-width:100%;box-sizing:border-box}
.tco-gr-thumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tco-gr-thumbs .tco-gr-help{flex-basis:100%;margin:0}
.tco-gr.tco-gr-form-wrap .tco-gr-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #d6d3cb;max-width:none}
.tco-gr-photos .tco-gr-help{margin:0}
