/* TripBeta 2.2.0 focused interaction refinements. */
.tb-review-form{display:grid;gap:18px;padding:clamp(18px,3vw,26px);border-radius:18px;background:var(--social-card,#fffdf9);box-shadow:0 14px 38px rgba(58,68,62,.07)}
.tb-review-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:18px}
.tb-review-form .tb-form-field,.tb-review-field{display:flex;min-width:0;flex-direction:column;gap:8px;margin:0;color:var(--social-text,#303632);font-weight:700}
.tb-review-field input,.tb-review-field textarea{width:100%;margin:0;border:1px solid #d7d9d2;border-radius:12px;background:#fff;color:#303632;box-shadow:none}
.tb-review-field input{min-height:50px;padding:0 14px}
.tb-review-field textarea{min-height:150px;padding:13px 14px;line-height:1.65;resize:vertical}
.tb-review-field input:focus,.tb-review-field textarea:focus,.tb-review-form .tb-date-control:focus{border-color:#7e9f93;box-shadow:0 0 0 3px rgba(79,118,104,.13);outline:0}
.tb-review-rating{min-width:0;margin:0;padding:0;border:0}
.tb-review-rating legend,.tb-review-form .tb-date-label{display:block;margin:0 0 8px;color:var(--social-text,#303632);font-size:.92rem;font-weight:700}
.tb-star-rating{display:inline-flex;width:100%;min-height:50px;box-sizing:border-box;align-items:center;justify-content:flex-end;gap:3px;padding:7px 12px;border:1px solid #d7d9d2;border-radius:12px;direction:rtl;background:#fff}
.tb-star-rating input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.tb-star-rating label{display:grid;width:38px;height:34px;cursor:pointer;place-items:center;border-radius:8px;color:#c9ceca;font-size:30px;line-height:1;transition:color .16s ease,background .16s ease,transform .16s ease}
.tb-star-rating label:hover,.tb-star-rating label:hover~label,.tb-star-rating input:checked~label{color:#d99536}
.tb-star-rating label:hover{transform:translateY(-1px)}
.tb-star-rating input:focus-visible+label{outline:3px solid rgba(79,118,104,.25);outline-offset:1px}
.tb-review-date .tb-date-control{width:100%;min-height:50px;margin:0;border:1px solid #d7d9d2;border-radius:12px;background:#fff;color:#303632}
.tb-review-media{padding-top:2px}
.tb-review-form-actions{display:flex;min-height:44px;align-items:center;gap:14px;flex-wrap:wrap}
.tb-review-form-actions .tb-button{min-width:150px;margin:0}
.tb-review-form-actions .tb-form-message{flex:1;margin:0;font-size:.9rem;font-weight:650}
.tb-story-notice{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid #a9c9bb;border-radius:13px;background:#edf5f0;color:#315c49;box-shadow:0 8px 24px rgba(49,92,73,.07)}
.tb-story-notice:before{content:"✓";display:grid;width:24px;height:24px;flex:0 0 24px;border-radius:50%;place-items:center;background:#4f7668;color:#fff;font-size:13px;font-weight:800}
.tb-story-notice strong{display:block;line-height:1.55}
.tb-story-editor .tb-form-message{min-height:22px;margin:12px 0 0;font-weight:700}
.tb-story-editor .tb-form-message.is-success{color:#315c49}
.tb-story-editor .tb-form-message.is-error{color:#9a3f2c}
.tb-plan-share-row .tb-actions{display:flex!important;flex-wrap:wrap;gap:10px!important;justify-content:flex-end}
.tb-plan-share-row .tb-actions>*{margin:0!important}
.tb-review h3 a{color:inherit;text-decoration:none}.tb-review h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.tb-review-gallery{display:flex!important;grid-template-columns:none!important;align-items:center;flex-wrap:wrap;gap:8px!important;margin:12px 0!important}
.tb-review-image{position:relative;display:block;width:92px;height:70px;flex:0 0 92px;padding:0;overflow:hidden;border:1px solid var(--social-line,#deddd5);border-radius:8px;background:#eef0ec;cursor:zoom-in}
.tb-review-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease,filter .18s ease}
.tb-review-image:hover img,.tb-review-image:focus-visible img{transform:scale(1.04);filter:brightness(.96)}
.tb-review-image:focus-visible{outline:3px solid rgba(79,118,104,.25);outline-offset:2px}
.tb-review-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;color:var(--social-muted,#6f7772);font-size:.78rem}
.tb-review-meta a{color:inherit}.tb-review-meta .tb-review-read{margin-left:auto;color:var(--social-brand-dark,#3d5f54);font-weight:750}
body.tb-review-lightbox-open{overflow:hidden}
.tb-review-lightbox[hidden]{display:none!important}.tb-review-lightbox{position:fixed;inset:0;z-index:5000;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;padding:30px 20px;background:rgba(20,24,22,.91);backdrop-filter:blur(8px)}
.tb-review-lightbox figure{display:flex;min-width:0;max-width:min(1120px,calc(100vw - 190px));max-height:calc(100vh - 60px);align-items:center;justify-content:center;flex-direction:column;margin:auto}
.tb-review-lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 105px);object-fit:contain;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.tb-review-lightbox figcaption{min-height:22px;margin-top:10px;color:#f3f3f1;font-size:.86rem;text-align:center}
.tb-review-lightbox-close,.tb-review-lightbox-nav{display:grid;border:1px solid rgba(255,255,255,.28);place-items:center;background:rgba(28,32,30,.72);color:#fff;cursor:pointer}
.tb-review-lightbox-close{position:absolute;right:20px;top:18px;width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1}
.tb-review-lightbox-nav{width:48px;height:58px;margin:auto;border-radius:8px;font-size:42px;line-height:1}.tb-review-lightbox-nav:hover,.tb-review-lightbox-close:hover{background:#fff;color:#222}
.tb-review-page-hero{padding:42px 0 34px;border-bottom:1px solid var(--social-line,#deddd5);background:linear-gradient(135deg,#edf3ef,#f8f2e9)}
.tb-review-page-hero .tb-breadcrumb{margin-bottom:28px}.tb-review-page-hero h1{max-width:850px;margin:8px 0 12px;font-size:clamp(2rem,5vw,3.7rem);letter-spacing:-.04em;line-height:1.08}.tb-review-page-hero p{margin:0;color:var(--social-muted,#6f7772)}
.tb-review-page{padding-top:34px;padding-bottom:60px}.tb-review-page-card{overflow:hidden;border:1px solid var(--social-line,#deddd5);border-radius:18px;background:var(--social-card,#fffdf9);box-shadow:0 16px 46px rgba(58,68,62,.07)}
.tb-review-page-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;border-bottom:1px solid var(--social-line,#deddd5);background:#faf9f5}
.tb-review-author{display:flex;min-width:0;align-items:center;gap:12px}.tb-review-author>img,.tb-review-author>span{display:grid;width:46px;height:46px;flex:0 0 46px;border-radius:50%;place-items:center;background:#e4eee9;color:#3d6859;font-weight:850;object-fit:cover}.tb-review-author div{display:grid;gap:3px}.tb-review-author small{color:var(--social-muted,#6f7772)}
.tb-review-page-rating{display:flex;align-items:center;gap:10px}.tb-review-page-rating>strong{font-size:1.8rem}.tb-review-page-rating span{display:flex;gap:2px}.tb-review-page-rating b{color:#c9ceca;font-size:20px}.tb-review-page-rating b.is-filled{color:#d99536}
.tb-review-page-content{padding:28px 25px 12px;color:var(--social-text,#303632);font:1.08rem/1.85 var(--tb-article-font,Georgia,serif)}.tb-review-page-card>.tb-review-gallery{padding:4px 25px 20px;margin:0!important}
.tb-review-page-card>footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 25px;border-top:1px solid var(--social-line,#deddd5);background:#faf9f5}.tb-review-page-card>footer>span{margin-left:auto;color:var(--social-muted,#6f7772);font-size:.86rem}.tb-review-page-card>footer form{display:flex;align-items:center;gap:8px}.tb-review-page-card>footer form .tb-form-message{margin:0}
@media(max-width:700px){.tb-review-form-grid{grid-template-columns:1fr}.tb-review-form-actions{align-items:stretch;flex-direction:column}.tb-review-form-actions .tb-button{width:100%}.tb-plan-share-row .tb-actions{width:100%;justify-content:flex-start}.tb-plan-share-row .tb-actions>*{flex:1 1 auto;text-align:center}}
@media(max-width:700px){.tb-review-lightbox{grid-template-columns:46px minmax(0,1fr) 46px;padding:64px 8px 18px}.tb-review-lightbox figure{max-width:calc(100vw - 108px);max-height:calc(100vh - 85px)}.tb-review-lightbox figure img{max-height:calc(100vh - 130px)}.tb-review-lightbox-close{right:12px;top:10px}.tb-review-lightbox-nav{width:40px;height:50px}.tb-review-page-card>header{align-items:flex-start;flex-direction:column}.tb-review-page-card>footer>span{width:100%;margin-left:0}.tb-review-page-card>footer form{width:100%;flex-wrap:wrap}}
@media(max-width:420px){.tb-star-rating{justify-content:center;padding-inline:7px}.tb-star-rating label{width:34px}.tb-plan-share-row .tb-actions>*{flex:1 1 100%}.tb-review-image{width:78px;height:60px;flex-basis:78px}.tb-review-lightbox{grid-template-columns:38px minmax(0,1fr) 38px}.tb-review-lightbox figure{max-width:calc(100vw - 88px)}.tb-review-lightbox-nav{width:34px;height:46px}.tb-review-page-card>header,.tb-review-page-content,.tb-review-page-card>footer{padding-left:18px;padding-right:18px}.tb-review-page-card>.tb-review-gallery{padding-left:18px;padding-right:18px}}

/* TripBeta 2.2 discussion board and richer home. */
.tb-review-page-hero{background:linear-gradient(125deg,#ffe8f1 0%,#fff8f4 56%,#fff0b6 100%);border-color:var(--social-line,#ded9dc)}
.tb-review-page-hero h1{max-width:920px}.tb-review-board-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start;padding-top:34px;padding-bottom:72px}.tb-review-main-column{display:grid;min-width:0;gap:26px}
.tb-review-page-card{border-radius:12px;box-shadow:0 14px 42px rgba(61,39,50,.07)}.tb-review-page-card>header,.tb-review-page-card>footer{background:#fcfafb}.tb-review-page-content{padding-top:32px;padding-bottom:18px}
.tb-review-context-card{position:sticky;top:96px;overflow:hidden;padding:20px;border:1px solid var(--social-line,#ded9dc);border-radius:12px;background:#fff;box-shadow:0 14px 42px rgba(61,39,50,.07)}.tb-review-context-card>.tb-kicker{display:block;margin-bottom:10px}.tb-review-context-image{display:block;overflow:hidden;margin:-20px -20px 18px;aspect-ratio:16/10;background:#f1edef}.tb-review-context-image img{width:100%;height:100%;object-fit:cover}.tb-review-context-card h2{margin:0 0 10px;font-size:1.45rem;line-height:1.22}.tb-review-context-card h2 a{color:inherit;text-decoration:none}.tb-review-context-card p{margin:0 0 18px;color:var(--social-muted,#70686c);line-height:1.6}.tb-review-context-card>.tb-button{display:flex;justify-content:center;margin-top:17px}.tb-review-context-rating{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--social-line,#ded9dc);border-bottom:1px solid var(--social-line,#ded9dc)}.tb-review-context-rating strong{color:#9f2457}.tb-review-context-rating span{color:var(--social-muted,#70686c);font-size:.82rem}.tb-review-context-author{display:flex;align-items:center;gap:10px;margin:20px -20px -20px;padding:15px 20px;background:#fff0f5}.tb-review-context-author>span{display:grid;width:36px;height:36px;border-radius:50%;place-items:center;background:#c73570;color:#fff;font-weight:800}.tb-review-context-author div{display:grid}.tb-review-context-author small{color:#776970}.tb-review-context-author strong{font-size:.9rem}
.tb-review-discussion{padding:24px;border:1px solid var(--social-line,#ded9dc);border-radius:12px;background:#fff;box-shadow:0 14px 42px rgba(61,39,50,.06)}.tb-discussion-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--social-line,#ded9dc)}.tb-discussion-heading h2{margin:5px 0 7px;font-size:1.65rem}.tb-discussion-heading p{margin:0;color:var(--social-muted,#70686c)}.tb-discussion-heading>strong{padding:7px 10px;border-radius:20px;background:#fff0f5;color:#992451;font-size:.78rem;white-space:nowrap}
.tb-discussion-form,.tb-thread-inline-form{margin-top:20px;padding:16px;border:1px solid #e1d9dd;border-radius:10px;background:#fcfafb}.tb-discussion-form label,.tb-thread-inline-form label{display:grid;gap:8px;color:#3d3438;font-size:.86rem;font-weight:750}.tb-discussion-form textarea,.tb-thread-inline-form textarea{width:100%;min-height:105px;margin:0;padding:12px 13px;border:1px solid #d5cbd0;border-radius:8px;background:#fff;line-height:1.6;resize:vertical}.tb-discussion-form textarea:focus,.tb-thread-inline-form textarea:focus{border-color:#cf6c94;box-shadow:0 0 0 3px rgba(199,53,112,.11);outline:0}.tb-discussion-form>div,.tb-thread-inline-form>div{display:flex;align-items:center;gap:12px;margin-top:11px}.tb-discussion-form .tb-form-message,.tb-thread-inline-form .tb-form-message{margin:0;font-size:.82rem}
.tb-thread-list{display:grid;gap:12px;margin-top:20px}.tb-thread-reply{position:relative;padding:15px 16px;border:1px solid var(--social-line,#ded9dc);border-left:4px solid #f1a9c6;border-radius:9px;background:#fff}.tb-thread-depth-0{border-left-color:#c73570}.tb-thread-depth-1{margin-left:24px}.tb-thread-depth-2{margin-left:48px}.tb-thread-depth-3{margin-left:72px}.tb-thread-depth-4{margin-left:96px}.tb-thread-depth-5{margin-left:120px}.tb-thread-depth-6{margin-left:144px}.tb-thread-reply>header{display:flex;align-items:center;gap:10px}.tb-thread-avatar img,.tb-thread-avatar span{display:grid;width:38px;height:38px;border-radius:50%;place-items:center;background:#ffe3ee;color:#992451;font-weight:850;object-fit:cover}.tb-thread-reply>header>div:nth-child(2){display:grid;min-width:0}.tb-thread-reply>header small{color:var(--social-muted,#70686c);font-size:.72rem}.tb-thread-reply time{margin-left:auto;color:var(--social-muted,#70686c);font-size:.72rem;white-space:nowrap}.tb-thread-content{padding:13px 0 7px;color:#393236;line-height:1.7}.tb-thread-reply>footer button{padding:5px 0;border:0;background:none;color:#992451;font-weight:750;cursor:pointer}.tb-thread-reply>footer button:hover{text-decoration:underline;text-underline-offset:3px}.tb-thread-inline-form[hidden]{display:none}.tb-thread-empty{padding:28px;text-align:center;border:1px dashed #d8cdd2;border-radius:9px;background:#fcfafb;color:var(--social-muted,#70686c)}
.tb-home-rich{border-top:1px solid var(--social-line,#ded9dc)}.tb-home-module{padding:62px 0;border-bottom:1px solid var(--social-line,#ded9dc);background:#f7f6f4}.tb-home-module:nth-child(even){background:#fff}.tb-home-module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:25px}.tb-home-module-head h2{margin:5px 0 7px;font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:-.035em}.tb-home-module-head p{max-width:680px;margin:0;color:var(--social-muted,#70686c);line-height:1.6}.tb-home-module-head>a{font-weight:800;white-space:nowrap}.tb-home-country-module{background:#292426;color:#fff}.tb-home-country-module .tb-kicker{color:#ff9fc6}.tb-home-country-module .tb-home-module-head p{color:#d8ced2}.tb-home-country-module .tb-home-module-head>a{color:#fff}.tb-home-country-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.tb-home-country-grid a{display:grid;gap:4px;padding:17px;border:1px solid #51484c;border-radius:8px;background:#342e31;color:#fff;text-decoration:none}.tb-home-country-grid a:hover{border-color:#ff79ac;background:#40373b}.tb-home-country-grid span{font-size:1.02rem;font-weight:800}.tb-home-country-grid small{color:#cfc3c8}
.tb-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tb-home-conversation-module{background:#fff0f5}.tb-home-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tb-home-review-grid>article{display:flex;min-width:0;flex-direction:column;padding:19px;border:1px solid #e5cfd9;border-radius:10px;background:#fff}.tb-home-review-grid header{display:flex;align-items:center;gap:10px}.tb-home-review-grid header>span{display:grid;width:40px;height:40px;border-radius:50%;place-items:center;background:#ffe1ed;color:#992451;font-weight:850}.tb-home-review-grid header div{display:grid}.tb-home-review-grid header small{color:#776d72;font-size:.74rem}.tb-home-review-grid h3{margin:16px 0 7px;font-size:1.12rem}.tb-home-review-grid h3 a{color:inherit;text-decoration:none}.tb-home-review-grid p{flex:1;margin:0;color:#685f63;line-height:1.6}.tb-home-review-grid footer{display:flex;justify-content:space-between;gap:12px;margin-top:17px;padding-top:12px;border-top:1px solid #eadde3;font-size:.78rem;font-weight:750}.tb-home-review-grid footer a:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-home-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tb-home-plan-grid article{display:flex;min-width:0;min-height:210px;flex-direction:column;padding:20px;border:1px solid #ded4a7;border-radius:10px;background:#fff6ce}.tb-home-plan-grid article>span{color:#7c6819;font-size:.76rem;font-weight:800;text-transform:uppercase}.tb-home-plan-grid h3{margin:11px 0 8px;font-size:1.3rem}.tb-home-plan-grid h3 a{color:#2b2723;text-decoration:none}.tb-home-plan-grid p{margin:0;color:#6f6548;line-height:1.55}.tb-home-plan-grid footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:18px;font-weight:750}.tb-home-plan-grid footer small{color:#776b4d}
.tb-home-module.tb-home-country-module{background:#292426}.tb-home-module.tb-home-conversation-module{background:#fff0f5}.tb-home-module.tb-home-place-module{background:#f0f5f2}.tb-home-module.tb-home-resource-module{background:#292426;color:#fff}.tb-home-resource-module .tb-kicker{color:#ff9fc6}.tb-home-resource-module .tb-home-module-head p{color:#d8ced2}.tb-home-resource-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tb-home-resource-columns>div{overflow:hidden;border:1px solid #51484c;border-radius:9px;background:#342e31}.tb-home-resource-columns h3{margin:0;padding:15px 16px;border-bottom:1px solid #51484c;font-size:1rem}.tb-home-resource-columns h3 a{color:#fff;text-decoration:none}.tb-home-resource-row{display:grid;gap:3px;padding:12px 16px;border-bottom:1px solid #494045;color:#fff;text-decoration:none}.tb-home-resource-row:last-child{border-bottom:0}.tb-home-resource-row:hover{background:#40373b;color:#fff}.tb-home-resource-row small{overflow:hidden;color:#cfc3c8;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1050px){.tb-review-board-layout{grid-template-columns:minmax(0,1fr) 280px}.tb-home-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tb-card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-home-review-grid,.tb-home-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-home-resource-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tb-review-board-layout{display:flex;flex-direction:column;padding-top:18px;padding-bottom:45px}.tb-review-main-column{width:100%;order:2}.tb-review-context-card{position:static;width:100%;order:1}.tb-review-context-image{aspect-ratio:16/8}.tb-review-discussion{padding:17px}.tb-discussion-heading{align-items:flex-start;flex-direction:column}.tb-thread-depth-1{margin-left:10px}.tb-thread-depth-2,.tb-thread-depth-3,.tb-thread-depth-4,.tb-thread-depth-5,.tb-thread-depth-6{margin-left:20px}.tb-thread-reply time{display:none}.tb-home-module{padding:42px 0}.tb-home-module-head{align-items:flex-start;flex-direction:column;gap:12px}.tb-home-country-grid,.tb-home-review-grid,.tb-home-plan-grid{grid-template-columns:1fr}.tb-home-country-grid{gap:7px}.tb-home-resource-columns{grid-template-columns:1fr}.tb-card-grid-4{grid-template-columns:1fr}.tb-home-review-grid>article:nth-child(n+5),.tb-home-plan-grid>article:nth-child(n+5){display:none}}
@media(max-width:430px){.tb-review-context-card,.tb-review-discussion{border-radius:9px}.tb-review-page-card{border-radius:9px}.tb-review-page-card>footer{align-items:stretch;flex-direction:column}.tb-review-page-card>footer>span{order:2}.tb-review-page-card>footer form{order:3}.tb-discussion-form,.tb-thread-inline-form{padding:12px}.tb-thread-reply{padding:13px}.tb-thread-depth-1,.tb-thread-depth-2,.tb-thread-depth-3,.tb-thread-depth-4,.tb-thread-depth-5,.tb-thread-depth-6{margin-left:8px}.tb-home-country-grid a{padding:14px}}
