/* Dhivehi Web Elements 2.0.0
 * Correct layout model:
 * 1. Every top-level section/background spans the full viewport.
 * 2. The content, cards and grids inside remain centered and readable.
 * 3. The same result is visible in Elementor editor, preview and frontend.
 */
:root{
  --mr-section-content:var(--rmv-container,1180px);
  --mr-section-gutter:clamp(18px,3vw,32px);
  --mr-card-radius:var(--rmv-card-radius,24px);
  --mr-panel-radius:calc(var(--rmv-card-radius,24px) + 4px);
  --mr-control-radius:var(--rmv-button-radius,14px);
}

/* Never let a theme/article wrapper box the Elementor document. */
body.rmv-starter-page #primary,
body.rmv-starter-page .rmv-page-article,
body.rmv-starter-page .entry-content,
body.rmv-starter-page .elementor,
body.rmv-starter-page .elementor-section-wrap,
body.rmv-elementor-preview #primary,
body.rmv-elementor-preview .rmv-page-article,
body.rmv-elementor-preview .entry-content,
body.rmv-elementor-preview .elementor,
body.elementor-editor-active #primary,
body.elementor-editor-active .rmv-page-article,
body.elementor-editor-active .entry-content,
body.elementor-editor-active .elementor{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Break the outer section out to the browser/iframe edges. Background colors,
 * gradients and images therefore remain genuinely full width. */
.rmv-fluid-section.elementor-section,
.rmv-full-bleed-section.elementor-section,
body.rmv-starter-page .elementor-top-section,
body.rmv-elementor-preview .elementor-top-section.rmv-fluid-section,
body.elementor-editor-active .elementor-top-section.rmv-fluid-section,
.rmv-fluid-section.e-con.e-parent,
.rmv-full-bleed-section.e-con.e-parent,
body.rmv-starter-page .e-con.e-parent{
  position:relative!important;
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
}

/* Standard sections: full-width surface, centered inner content. */
.rmv-fluid-section.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
.rmv-content-contained.elementor-section>.elementor-container,
body.rmv-starter-page .elementor-top-section:not(.rmv-full-bleed-section)>.elementor-container,
.rmv-fluid-section.e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner,
.rmv-content-contained.e-con.e-parent>.e-con-inner,
body.rmv-starter-page .e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner{
  width:min(calc(100% - (var(--mr-section-gutter) * 2)),var(--mr-section-content))!important;
  max-width:var(--mr-section-content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Hero and special surface widgets may paint edge-to-edge, but their own
 * .rly-container / .rme-*-inner structures remain limited to 1180–1220px. */
.rmv-full-bleed-section.elementor-section>.elementor-container,
.rmv-full-bleed-section.e-con.e-parent>.e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep all reusable widget-level content from becoming ultrawide. */
.rly-container,
.rme-hero-inner,
.rme-archive-hero-inner,
.rme-post-hero-container,
.mr-rankings-inner,
.mr-ranking-container,
.rmv-single-hero-section>.elementor-container,
.rmv-single-content-grid>.elementor-container{
  width:min(calc(100% - (var(--mr-section-gutter) * 2)),var(--mr-section-content))!important;
  max-width:var(--mr-section-content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Do not add a second horizontal padding layer to the Elementor column. */
.rmv-fluid-section.elementor-section>.elementor-container>.elementor-column>.elementor-element-populated,
.rmv-full-bleed-section.elementor-section>.elementor-container>.elementor-column>.elementor-element-populated{
  padding-left:0;
  padding-right:0;
}

/* Consistent rounded cards and controls. */
.rly-feature-card,.rly-category-card,.rly-review-card,.rly-process-card,.rly-pricing-card,
.rly-contact-option,.rly-info-panel,.rly-contact-form-panel,.rly-contact-side,
.rly-faq-categories,.rly-faq-item,.rly-wizard-panel,.rly-wizard-sidebar>div,
.rly-single-hero-card,.mr-ranking-visual,.mr-ranking-winner,.mr-rank-card,.mr-rank-empty,
.rme-advanced-card,.rme-post-card .rme-slide-inner,.rme-related-card,.rme-author-box,
.rme-comments-widget,.rme-contact-form-shell,.rme-archive-search-panel,.rme-notice-card,
.rme-single-reading__article,.rme-single-reading__side-card,.rme-species-directory-pro__card,
.rmv-rating-summary,.rmv-rating-form-wrap,.rmv-user-review,.rmv-top-rated-card,
.rmv-review-specifications,.rmv-compare-table,.rmv-woo-rating-panel{
  border-radius:var(--mr-card-radius);
}
.rly-hero-visual-card,.rly-score-demo,.rly-cta,.rme-cta-shell,.rme-post-hero-shell,
.rme-related-wrap{border-radius:var(--mr-panel-radius)}
.rly-search-form,.rly-review-toolbar label,.rly-review-toolbar select,.rly-live-filter input,
.rly-faq-search input,.rly-progress,.rly-form input,.rly-form textarea,.rly-form select,
.rly-review-wizard input,.rly-review-wizard textarea,.rly-review-wizard select,
.mr-rankings-toolbar input,.mr-rankings-toolbar select,.rme-blog-toolbar,
.rme-blog-toolbar input,.rme-blog-toolbar select,.rmv-form-grid input,.rmv-form-grid textarea,
.rmv-submit-review,.rly-btn,.rme-btn,.elementor-button{border-radius:var(--mr-control-radius)}
.rly-review-card,.rly-category-card,.rly-feature-card,.rly-pricing-card,.rly-single-hero-card,
.mr-ranking-visual,.mr-rank-card,.rme-advanced-card,.rme-post-card .rme-slide-inner,
.rme-related-card,.rmv-top-rated-card,.rmv-rating-summary,.rmv-review-specifications{overflow:hidden}
.rly-empty,.rly-login-required,.rme-empty,.rme-filter-empty,.rme-species-directory-pro__empty,
.rmv-no-reviews,.rmv-rating-empty{border-radius:var(--mr-card-radius)}

@media(max-width:767px){
  :root{--mr-section-gutter:12px}
}


/* Dhivehi Web 1.7.0 FINAL REFERENCE LAYOUT
 * The supplied Reviewly HTML uses a full-width section surface and a centered
 * 1180px inner container. These selectors intentionally target Elementor's
 * real top-level document children, so old imports are fixed even when an
 * earlier CSS class or migration marker is missing from the database. */
:root{
  --mr-reference-content:var(--rmv-container,1180px);
  --mr-reference-gutter:clamp(18px,3vw,32px);
}
body.elementor-page:not(.rmv-boxed-site) #primary,
body.elementor-page:not(.rmv-boxed-site) .rmv-page-article,
body.elementor-page:not(.rmv-boxed-site) .entry-content,
body.elementor-page:not(.rmv-boxed-site) .elementor,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap{
  width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;
}
/* Actual top-level Elementor sections/containers span the viewport. */
body.elementor-page:not(.rmv-boxed-site) .elementor>.elementor-element,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap>.elementor-element,
body.rmv-elementor-preview .elementor>.elementor-element,
body.elementor-editor-active .elementor>.elementor-element{
  position:relative!important;left:auto!important;right:auto!important;
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
}
/* Standard sections: full-width background with contained content. */
body.elementor-page:not(.rmv-boxed-site) .elementor>.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap>.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
body.rmv-elementor-preview .elementor>.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
body.elementor-editor-active .elementor>.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
body.elementor-page:not(.rmv-boxed-site) .elementor>.e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap>.e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner{
  width:min(calc(100% - (var(--mr-reference-gutter) * 2)),var(--mr-reference-content))!important;
  max-width:var(--mr-reference-content)!important;margin-inline:auto!important;
}
/* Full-bleed hero wrappers let the widget paint the entire surface. */
body.elementor-page .elementor>.rmv-full-bleed-section>.elementor-container,
body.elementor-page .elementor-section-wrap>.rmv-full-bleed-section>.elementor-container,
body.elementor-page .elementor>.rmv-full-bleed-section>.e-con-inner,
body.elementor-page .elementor-section-wrap>.rmv-full-bleed-section>.e-con-inner{
  width:100%!important;max-width:none!important;margin:0!important;
}
/* Hero widgets remain genuinely edge-to-edge even on pages imported by an
 * older release that did not save the rmv-full-bleed-section class. */
.elementor-widget-rme-reviewly-hero .rly-hero,
.elementor-widget-rme-nature-hero .rme-nature-hero,
.elementor-widget-rme-archive-hero .rme-archive-hero,
.elementor-widget-rme-maldives-ranking-hero .mr-ranking-hero,
.elementor-widget-rme-post-hero .rme-post-hero-shell{
  position:relative!important;width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  border-radius:0!important;
}
/* Their visible copy, cards and grids keep the same container width as the HTML. */
.rly-container,.rme-hero-inner,.rme-archive-hero-inner,.rme-post-hero-container,
.mr-ranking-hero-grid,.mr-rankings-inner,.mr-ranking-container{
  width:min(calc(100% - (var(--mr-reference-gutter) * 2)),var(--mr-reference-content))!important;
  max-width:var(--mr-reference-content)!important;margin-inline:auto!important;
}
@media(max-width:767px){
  :root{--mr-reference-gutter:12px}
}

/* Dhivehi Web 1.8.0 — unified section curves and complete night mode.
 * Section surfaces, cards, inputs and the ranking/review system all read from
 * one dark palette. This deliberately loads after every widget stylesheet. */
:root{
  --mr-section-radius:var(--rmv-section-radius,28px);
}

/* The large white content panels shown in the supplied designs can now use a
 * global curve while the truly full-bleed hero/CTA backgrounds remain square. */
.rly-stats-strip,
.rly-feature-section,
.rly-category-section,
.rly-review-section,
.rly-process-section,
.rly-pricing-section,
.rly-faq-center,
.rly-contact-form-wrap,
.rly-info-panels,
.rly-legal-summary,
.rly-contact-options,
.rly-progress,
.rly-single-hero-card,
.mr-ranking-visual{
  border-radius:var(--mr-section-radius);
}
.rly-stats-strip,
.rly-feature-section,
.rly-category-section,
.rly-review-section,
.rly-process-section,
.rly-pricing-section,
.rly-faq-center,
.rly-contact-form-wrap,
.rly-info-panels{
  overflow:hidden;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --rly-bg:var(--rmv-dark-bg,#071a2b);
  --rly-surface:var(--rmv-dark-surface,#10283d);
  --rly-soft:color-mix(in srgb,var(--rmv-dark-surface,#10283d) 72%,var(--rmv-secondary,#00a7a0) 28%);
  --rly-blue-soft:color-mix(in srgb,var(--rmv-dark-surface,#10283d) 78%,var(--rmv-primary,#0066cc) 22%);
  --rly-text:var(--rmv-dark-text,#f4f8fb);
  --rly-muted:var(--rmv-dark-muted,#b8c8d4);
  --rly-line:var(--rmv-border,rgba(213,232,242,.16));
  --rly-shadow:0 22px 58px rgba(0,0,0,.34);
  --rly-shadow-sm:0 10px 28px rgba(0,0,0,.24);
  --mr-dark-card:color-mix(in srgb,var(--rmv-dark-surface,#10283d) 86%,#1c4a61 14%);
  --mr-dark-field:color-mix(in srgb,var(--rmv-dark-bg,#071a2b) 78%,#173b51 22%);
  --mr-dark-soft:color-mix(in srgb,var(--rmv-dark-surface,#10283d) 76%,#214c5e 24%);
}

/* Full-width page and widget surfaces. */
html[data-theme="dark"] body,
html[data-theme="dark"] #page,
html[data-theme="dark"] .site-content,
html[data-theme="dark"] .rmv-page-main,
html[data-theme="dark"] .rly-legal,
html[data-theme="dark"] .rly-submission,
html[data-theme="dark"] .rly-single-hero,
html[data-theme="dark"] .mr-rankings{
  background:var(--rly-bg)!important;
  color:var(--rly-muted)!important;
}
html[data-theme="dark"] .rly-hero,
html[data-theme="dark"] .mr-ranking-hero{
  background:
    radial-gradient(circle at 8% 16%,rgba(0,102,204,.18),transparent 29%),
    radial-gradient(circle at 92% 24%,rgba(0,167,160,.15),transparent 27%),
    var(--rly-bg)!important;
}
html[data-theme="dark"] .rly-stats-strip,
html[data-theme="dark"] .rly-feature-section,
html[data-theme="dark"] .rly-category-section,
html[data-theme="dark"] .rly-review-section,
html[data-theme="dark"] .rly-process-section,
html[data-theme="dark"] .rly-pricing-section,
html[data-theme="dark"] .rly-faq-center,
html[data-theme="dark"] .rly-contact-form-wrap,
html[data-theme="dark"] .rly-info-panels{
  background:var(--rly-surface)!important;
  border-color:var(--rly-line)!important;
  color:var(--rly-muted)!important;
}
html[data-theme="dark"] .rly-feature-section:nth-child(even),
html[data-theme="dark"] .rly-category-section:nth-child(even){
  background:var(--mr-dark-soft)!important;
}

/* Cards and panels. */
html[data-theme="dark"] :is(
  .rly-hero-visual-card,.rly-floating-badge,.rly-feature-card,.rly-category-card,
  .rly-review-card,.rly-process-card,.rly-pricing-card,.rly-contact-option,
  .rly-info-panel,.rly-contact-form-panel,.rly-contact-side,.rly-legal-summary,
  .rly-legal-sidebar,.rly-policy-section,.rly-faq-categories,.rly-faq-item,
  .rly-wizard-panel,.rly-wizard-sidebar>div,.rly-single-hero-card,.rly-empty,
  .rly-login-required,.mr-ranking-visual,.mr-ranking-winner,.mr-rank-card,
  .mr-rank-empty,.rme-advanced-card,.rme-post-card .rme-slide-inner,
  .rme-related-card,.rme-author-box,.rme-comments-widget,.rme-contact-form-shell,
  .rme-archive-search-panel,.rme-notice-card,.rme-single-reading__article,
  .rme-single-reading__side-card,.rme-species-directory-pro__card,
  .rmv-rating-summary,.rmv-rating-form-wrap,.rmv-user-review,.rmv-top-rated-card,
  .rmv-review-specifications,.rmv-compare-table,.rmv-woo-rating-panel
){
  background:var(--mr-dark-card)!important;
  color:var(--rly-text)!important;
  border-color:var(--rly-line)!important;
  box-shadow:var(--rly-shadow-sm)!important;
}
html[data-theme="dark"] .rly-faq-question,
html[data-theme="dark"] .rly-progress span{
  background:transparent!important;
  color:var(--rly-text)!important;
  border-color:var(--rly-line)!important;
}
html[data-theme="dark"] .rly-progress{
  background:color-mix(in srgb,var(--rly-bg) 92%,transparent)!important;
  border-color:var(--rly-line)!important;
}
html[data-theme="dark"] .rly-progress span{
  background:var(--mr-dark-field)!important;
}
html[data-theme="dark"] .rly-progress span.active{
  background:var(--rly-primary)!important;
  color:#fff!important;
}

/* Text: keep titles bright and descriptions readable instead of pale on white. */
html[data-theme="dark"] :is(
  .rly-title,.rly-feature-card h3,.rly-category-card h3,.rly-review-card h3,
  .rly-process-card h3,.rly-pricing-card h3,.rly-contact-option h3,
  .rly-info-panel h2,.rly-info-panel h3,.rly-contact-form-panel h2,
  .rly-contact-side h3,.rly-legal-summary h2,.rly-legal-sidebar h3,
  .rly-policy-section h2,.rly-policy-copy h3,.rly-faq-question,
  .rly-wizard-panel h3,.rly-wizard-sidebar h3,.rly-single-copy h1,
  .rly-single-copy h2,.rly-single-copy h3,.mr-ranking-title,.mr-rank-head h2,
  .mr-rank-main h3,.mr-rank-main h3 a,.mr-rank-score,.mr-ranking-winner,
  .mr-ranking-winner strong,.rme-card-title,.rme-section-title,
  .rmv-rating-summary h2,.rmv-rating-summary h3
){
  color:var(--rly-text)!important;
}
html[data-theme="dark"] :is(
  .rly-description,.rly-feature-card p,.rly-category-card p,.rly-review-card p,
  .rly-process-card p,.rly-pricing-card p,.rly-contact-option p,
  .rly-contact-side li,.rly-legal-sidebar nav a,.rly-legal-help p,
  .rly-policy-copy,.rly-faq-answer,.rly-wizard-sidebar ul,.rly-single-copy p,
  .rly-single-meta,.rly-info-panel dd,.rly-empty,.rly-login-required,
  .mr-ranking-description,.mr-ranking-period,.mr-rank-head p,.mr-rank-main p,
  .mr-rank-criteria,.mr-rank-count,.mr-rank-empty p
){
  color:var(--rly-muted)!important;
}
html[data-theme="dark"] .rly-stat strong,
html[data-theme="dark"] .rly-stat b,
html[data-theme="dark"] .rly-stat small{
  color:var(--rly-text)!important;
}
html[data-theme="dark"] .rly-stat small{color:var(--rly-muted)!important}

/* Icons and links. */
html[data-theme="dark"] :is(.rly-feature-icon,.rly-step-icon,.rly-stat-icon,.rly-contact-option>span){
  background:var(--rly-soft)!important;
  color:var(--rly-primary)!important;
}
html[data-theme="dark"] :is(.rly-feature-icon,.rly-step-icon,.rly-stat-icon,.rly-contact-option>span) :is(svg,i){
  color:inherit!important;
  fill:currentColor;
}
html[data-theme="dark"] :is(.rly-card-link,.rly-contact-option b,.rly-feature-card a,.rly-policy-section a,.rly-legal-help a){
  color:#66b3ff!important;
}
html[data-theme="dark"] .rly-btn-light{
  background:var(--mr-dark-card)!important;
  color:var(--rly-text)!important;
  border-color:var(--rly-line)!important;
}

/* Forms, search bars, filters and selects. */
html[data-theme="dark"] :is(
  .rly-search-form,.rly-review-toolbar label,.rly-review-toolbar select,
  .rly-live-filter input,.rly-faq-search input,.rly-form input,.rly-form textarea,
  .rly-form select,.rly-review-wizard input,.rly-review-wizard textarea,
  .rly-review-wizard select,.mr-rankings-toolbar input,.mr-rankings-toolbar select,
  .rme-blog-toolbar,.rme-blog-toolbar input,.rme-blog-toolbar select,
  .rmv-form-grid input,.rmv-form-grid textarea,.rmv-form-grid select
){
  background:var(--mr-dark-field)!important;
  color:var(--rly-text)!important;
  border-color:var(--rly-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] :is(input,textarea,select)::placeholder{
  color:color-mix(in srgb,var(--rly-muted) 76%,transparent)!important;
  opacity:1;
}
html[data-theme="dark"] select option{
  background:var(--rmv-dark-surface,#10283d);
  color:var(--rly-text);
}
html[data-theme="dark"] .rly-review-toolbar input{color:var(--rly-text)!important}
html[data-theme="dark"] .rly-search-icon,
html[data-theme="dark"] .mr-rank-search svg{color:var(--rly-muted)!important;stroke:currentColor!important}

/* Status blocks keep meaning without becoming bright white islands. */
html[data-theme="dark"] .rly-form-notice.success,
html[data-theme="dark"] .rly-wizard-message.success,
html[data-theme="dark"] .rly-policy-notice.success,
html[data-theme="dark"] .rly-review-badge,
html[data-theme="dark"] .rly-pros-cons>div{
  background:rgba(0,166,126,.15)!important;
  color:#86e8c9!important;
}
html[data-theme="dark"] .rly-form-notice.error,
html[data-theme="dark"] .rly-wizard-message.error,
html[data-theme="dark"] .rly-policy-notice.danger,
html[data-theme="dark"] .rly-pros-cons>div+div{
  background:rgba(216,91,91,.15)!important;
  color:#ffb3b3!important;
}
html[data-theme="dark"] .rly-policy-notice.warning{
  background:rgba(255,183,3,.14)!important;
  color:#ffd978!important;
}
html[data-theme="dark"] .rly-policy-notice:not(.success):not(.warning):not(.danger),
html[data-theme="dark"] .rly-legal-help{
  background:var(--rly-blue-soft)!important;
}

/* Preserve intentionally dark score cards and their white typography. */
html[data-theme="dark"] :is(.rly-score-demo,.rly-single-score),
html[data-theme="dark"] :is(.rly-score-demo,.rly-single-score) *{
  color:#fff!important;
}
html[data-theme="dark"] .rly-floating-badge{
  background:var(--mr-dark-card)!important;
  color:var(--rly-text)!important;
}

/* Top-rated directory had its own hard-coded light palette. */
html[data-theme="dark"] .mr-rankings-toolbar{
  background:color-mix(in srgb,var(--rly-bg) 94%,transparent)!important;
  border-color:var(--rly-line)!important;
}
html[data-theme="dark"] .mr-rank-tabs button{
  background:var(--mr-dark-card)!important;
  color:var(--rly-muted)!important;
  border-color:var(--rly-line)!important;
}
html[data-theme="dark"] .mr-rank-tabs button.is-active{
  background:var(--rly-primary)!important;
  color:#fff!important;
  border-color:var(--rly-primary)!important;
}
html[data-theme="dark"] .mr-ranking-visual-label,
html[data-theme="dark"] .mr-rank-open{
  background:var(--rly-blue-soft)!important;
  color:#8fc7ff!important;
}
html[data-theme="dark"] .mr-ranking-stars b{color:var(--rly-text)!important}
html[data-theme="dark"] .mr-rank-number:not(.gold):not(.silver):not(.bronze),
html[data-theme="dark"] .mr-rank-track{
  background:var(--mr-dark-field)!important;
  color:var(--rly-muted)!important;
}

@media(max-width:767px){
  :root{--mr-section-radius:clamp(18px,var(--rmv-section-radius,28px),28px)}
}
html[data-theme="dark"] .rly-score-pill{
  background:var(--mr-dark-card)!important;
  color:#fff!important;
  border:2px solid var(--rly-star)!important;
}
html[data-theme="dark"] .rly-cta.style-light{
  background:var(--rly-surface)!important;
  color:var(--rly-text)!important;
  border-color:var(--rly-line)!important;
}
html[data-theme="dark"] .rly-cta.style-light :is(h2,h3,p){color:inherit!important}
html[data-theme="dark"] :is(.rly-orbit i,.rly-community-orbit i){background:var(--rly-surface)!important}

/* Dhivehi Web Elements 2.0.0 — stable full-width and mode-safe geometry.
 * This deliberately returns to the proven 1.8 layout model. Outer Elementor
 * sections paint edge-to-edge; only their inner content is constrained. Dark
 * mode changes paint only and never changes widths, margins, or widget gaps. */
:root{
  --mr-section-spacing:var(--rmv-section-spacing,32px);
}
html,body{overflow-x:clip}

/* Unbox the Elementor document itself. */
body.elementor-page:not(.rmv-boxed-site) :is(#primary,.rmv-page-article,.entry-content,.rmv-elementor-page,.elementor,.elementor-section-wrap){
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  padding-inline:0!important;
}

/* Every real top-level section owns a viewport-wide background. */
body.elementor-page:not(.rmv-boxed-site) .elementor>.elementor-element,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap>.elementor-element,
body.rmv-elementor-preview .elementor>.elementor-element,
body.elementor-editor-active .elementor>.elementor-element,
.rmv-fluid-section.elementor-section,
.rmv-full-bleed-section.elementor-section,
.rmv-fluid-section.e-con.e-parent,
.rmv-full-bleed-section.e-con.e-parent{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* Ordinary sections keep their cards and copy in the site container. */
body.elementor-page:not(.rmv-boxed-site) .elementor>.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap>.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
body.elementor-page:not(.rmv-boxed-site) .elementor>.e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner,
body.elementor-page:not(.rmv-boxed-site) .elementor-section-wrap>.e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner,
.rmv-fluid-section.elementor-section:not(.rmv-full-bleed-section)>.elementor-container,
.rmv-fluid-section.e-con.e-parent:not(.rmv-full-bleed-section)>.e-con-inner{
  width:min(calc(100% - (var(--mr-section-gutter) * 2)),var(--mr-section-content))!important;
  max-width:var(--mr-section-content)!important;
  margin-inline:auto!important;
}

/* Full-bleed sections do not receive a second artificial container. */
.rmv-full-bleed-section.elementor-section>.elementor-container,
.rmv-full-bleed-section.e-con.e-parent>.e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Hero/feature backgrounds must paint the viewport, even on old imported pages
 * that do not yet contain the full-bleed class in Elementor data. */
.elementor-widget-rme-reviewly-hero .rly-hero,
.elementor-widget-rme-nature-hero .rme-nature-hero,
.elementor-widget-rme-archive-hero .rme-archive-hero,
.elementor-widget-rme-maldives-ranking-hero .mr-ranking-hero,
.elementor-widget-rme-post-hero .rme-post-hero-shell{
  position:relative!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border-radius:0!important;
}

/* The actual hero content remains readable and aligned with the rest of site. */
:is(.rly-container,.rme-hero-inner,.rme-archive-hero-inner,.rme-post-hero-container,.mr-ranking-hero-grid,.mr-rankings-inner,.mr-ranking-container){
  width:min(calc(100% - (var(--mr-section-gutter) * 2)),var(--mr-section-content))!important;
  max-width:var(--mr-section-content)!important;
  margin-inline:auto!important;
}

/* Curved content sections receive intentional breathing room from the outer
 * full-width colour. This replaces the need for manually inserted Spacers. */
.rmv-panel-section{
  padding-top:var(--mr-section-spacing)!important;
  padding-bottom:var(--mr-section-spacing)!important;
  padding-left:0!important;
  padding-right:0!important;
}
.rmv-panel-section :is(.rly-feature-section,.rly-category-section,.rly-review-section,.rly-process-section,.rly-pricing-section,.rly-faq-center,.rly-contact-form-wrap,.rly-info-panels){
  border-radius:var(--mr-section-radius)!important;
  overflow:hidden;
}

/* Semantic outer surfaces. Inline Elementor colours remain in light mode;
 * dark mode overrides only their paint, never their geometry. */
html[data-theme="dark"] :is(body,#page,.site,.rmv-site-wrap,#content,#primary,.site-main,.rmv-elementor-page){
  background-color:var(--rmv-dark-bg,#071a2b)!important;
  color:var(--rmv-dark-muted,#b8c8d4)!important;
}
html[data-theme="dark"] .rmv-section-light{
  background-color:var(--rmv-dark-surface,#10283d)!important;
  border-color:var(--rmv-border)!important;
}
html[data-theme="dark"] .rmv-section-soft{
  background-color:var(--rmv-dark-bg,#071a2b)!important;
  border-color:var(--rmv-border)!important;
}
html[data-theme="dark"] .rmv-section-dark{
  background-color:color-mix(in srgb,var(--rmv-dark-bg,#071a2b) 86%,#000 14%)!important;
  border-color:var(--rmv-border)!important;
}
html[data-theme="dark"] .rmv-full-bleed-section{
  border-color:var(--rmv-border)!important;
}

/* Never reproduce the v1.9 regression that zeroed every widget margin and
 * column spacing. Only horizontal wrapper padding is removed. */
.rmv-fluid-section.elementor-section>.elementor-container>.elementor-column>.elementor-element-populated,
.rmv-full-bleed-section.elementor-section>.elementor-container>.elementor-column>.elementor-element-populated{
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:767px){
  :root{--mr-section-spacing:min(var(--rmv-section-spacing,32px),20px)}
}

/* v2.0 panel completion: legal, submission, directory and CTA widgets receive
 * the same curved panel treatment and safe section spacing. */
.rmv-panel-section{box-sizing:border-box!important}
.rmv-panel-section :is(
  .rly-legal-document,.rly-review-wizard,.rly-cta,
  .mr-rankings-directory,.rmv-top-rated-grid,.rmv-review-directory,
  .rmv-review-comparison,.rmv-review-submission-form
){
  border-radius:var(--mr-section-radius)!important;
  overflow:hidden;
}
/* Preserve the user's Elementor spacing inside columns and widgets. */
.rmv-panel-section .elementor-widget:not(:last-child){margin-bottom:var(--widgets-spacing,20px)}
