:root { --op-blue:#5b74ee; --op-navy:#152047; --op-green:#6ea31b; --op-line:#e1e5eb; --op-muted:#6d7480; }
body.op-vanno { background:#fff; color:#333; }
.op-vanno a { text-decoration:none; }
.op-vanno header.header { z-index:100; }
.op-vanno #logo { background:rgba(255,255,255,.96); }
.op-vanno header.sticky #logo { background:transparent; }
.op-vanno #logo img.opinioni-logo { object-fit:contain; }
.op-vanno .main-menu > ul > li > a { font-weight:500; }
.op-vanno .header:not(.sticky) .main-menu > ul > li > a { text-shadow:0 1px 3px rgba(0,0,0,.35); }
.op-vanno .header:not(.sticky) #top_menu .login:before { color:#fff; }
.op-vanno .op-hero { background-image:url('../img/hero-opinioni-v1.webp'); background-position:center; background-size:cover; }
.op-vanno .op-hero .wrapper { background:rgba(12,25,23,.58); }
.op-vanno .op-hero h1 { margin:0; color:#fff; font-size:52px; font-weight:500; text-shadow:4px 4px 12px rgba(0,0,0,.3); }
.op-vanno .custom-search-input-2 { position:relative; overflow:visible; }
.op-search-wrap { position:relative; }
.op-search-results { position:absolute; z-index:50; top:100%; right:0; left:0; background:#fff; text-align:left; box-shadow:0 15px 35px rgba(0,0,0,.17); }
.op-search-results ul { margin:0; padding:7px; list-style:none; }
.op-search-results li a { display:block; padding:10px 12px; border-radius:4px; color:#333; font-weight:500; }
.op-search-results li a:hover { background:#f0f3ff; color:var(--op-blue); }
.op-vanno .grid_item figure { height:200px; background:#ddd; }
.op-vanno .grid_item figure img { width:100%; height:100%; object-fit:cover; }
.op-vanno .review_listing { height:calc(100% - 30px); margin-bottom:30px; display:flex; flex-direction:column; }
.op-vanno .review_listing > p { flex:1; }
.op-vanno .review_listing h4 { overflow-wrap:anywhere; }
.op-vanno .review_listing figure img { width:60px; height:60px; object-fit:cover; }
.op-vanno .op-review-grid > [class*="col-"] { display:flex; }
.op-vanno .op-company-card { height:calc(100% - 30px); margin-bottom:30px; padding:25px; }
.op-vanno .op-company-card figure { height:100px; display:flex; align-items:center; justify-content:center; margin-bottom:15px; }
.op-vanno .op-company-card figure img { max-width:140px; max-height:95px; object-fit:contain; }
.op-vanno .op-company-card .rating { display:block; margin:10px 0; }
.op-vanno .op-callout { background-image:url('../img/hero-opinioni-v1.webp'); background-position:center; background-size:cover; }
.op-vanno .op-callout .wrapper { background:rgba(15,29,30,.65); }

.op-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:24px; color:rgba(255,255,255,.76); font-size:12px; }
.op-breadcrumb a { color:#fff; }
.op-breadcrumb-dark { color:#8b929d; }
.op-breadcrumb-dark a { color:#596171; }
.op-inner-hero { height:280px; background:#53606d url('../img/hero-opinioni-v1.webp') center / cover no-repeat; }
.op-inner-hero .wrapper { height:100%; display:flex; align-items:center; background:rgba(17,27,39,.68); }
.op-inner-hero .container { padding-top:55px; }
.op-inner-hero h1, .op-inner-hero h2 { color:#fff; font-size:42px; }
.op-inner-hero p { color:#fff; }

.reviews_summary { background:#33404d url('../img/hero-opinioni-v1.webp') center / cover no-repeat; }
.reviews_summary > .wrapper { padding-top:130px; padding-bottom:45px; background:rgba(16,26,35,.78); }
.reviews_summary .op-breadcrumb { margin-bottom:28px; }
.reviews_summary .op-summary-main figure { width:120px; height:120px; padding:12px; border-radius:6px; background:#fff; }
.reviews_summary .op-summary-main figure img { width:100%; height:100%; object-fit:contain; }
.reviews_summary h1 { overflow-wrap:anywhere; }
.op-summary-actions { margin-top:20px; }
.op-no-rating { display:block; color:#fff; }
.op-advice-summary { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; color:#fff; font-size:12px; }
.op-advice-summary span { padding:7px 10px; border:1px solid rgba(255,255,255,.3); border-radius:4px; }
.op-advice-summary i { margin-right:6px; }
.op-description { margin-bottom:30px; }
.op-description h2 { font-size:24px; }
.op-usercontent { line-height:1.75; }

.op-list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:20px; padding:15px 18px; border:1px solid var(--op-line); border-radius:5px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.op-list-toolbar form { display:flex; gap:8px; }
.op-list-toolbar select { min-width:135px; padding:8px 28px 8px 10px; border:1px solid #d7dce3; border-radius:4px; background:#fff; }
.review_card .user_info figure img { width:70px; height:70px; object-fit:cover; }
.review_card .user_info h5 { overflow-wrap:anywhere; }
.review_card .user_info h5 a { color:#333; }
.review_card .review_content h3.op-review-title { margin:3px 0 12px; font-size:20px; }
.review_card .review_content h3.op-review-title a { color:#222; }
.review_card .review_content h3.op-review-title:before { content:'✓'; margin-right:8px; color:#62a91f; }
.review_card .review_content h3.op-review-title.not-recommended:before { content:'×'; color:#d04a4a; }
.review_card .review_content h3.op-review-title.neutral:before { content:'•'; color:#c99022; }
.op-pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 6px; }
.op-pros-cons > div { min-width:0; padding:12px 14px; border-radius:5px; background:#f2f9ed; overflow-wrap:anywhere; }
.op-pros-cons .cons { background:#fff1f0; }
.op-pros-cons strong, .op-pros-cons span { display:block; }
.op-pros-cons strong { margin-bottom:3px; color:#49851e; font-size:12px; text-transform:uppercase; }
.op-pros-cons .cons strong { color:#bd4646; }
.op-company-avatar { width:70px; height:70px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#eef1ff; color:var(--op-blue); font-size:28px; }
.company_info .full-width { width:100%; }
.op-related { margin-top:25px; }
.op-related-item { display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid #eee; }
.op-related-item:last-child { border:0; }
.op-related-item img { width:52px; height:52px; object-fit:contain; }
.op-related-item span { min-width:0; }
.op-related-item strong, .op-related-item small { display:block; }
.op-related-item strong { color:#333; }
.op-related-item small { color:#858b94; }

.op-review-full .review_content > h1 { margin:12px 0 10px; color:#222; font-size:30px; overflow-wrap:anywhere; }
.op-recommendation { display:inline-block; padding:6px 10px; border-radius:4px; background:#eaf7df; color:#4d851f; font-size:12px; font-weight:500; }
.op-recommendation.no { background:#fff0ee; color:#b94343; }
.op-recommendation.neutral { background:#fff7df; color:#9c731a; }
.op-experience-date { display:block; margin-bottom:16px; color:#8b919a; }
.op-pros-cons-large { margin:22px 0; }
.op-pros-cons-large > div { padding:17px; }
.op-review-body { color:#333; font-size:16px; line-height:1.85; overflow-wrap:anywhere; }
.opinion-vote h3 { margin-bottom:5px; }
.vote-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:15px; }
.btn_1.outline { border:1px solid var(--op-blue); background:#fff; color:var(--op-blue); }
.vote-msg { color:#4d851f; }
.op-comments { margin-top:25px; }
.op-comment { padding:16px 0; border-bottom:1px solid #eee; }
.op-comment small { color:#8d939b; }
.op-comment p { margin:7px 0; }
.op-comments textarea { min-height:120px; margin-top:8px; }
.op-login-note { margin-top:15px; padding:14px; border-radius:4px; background:#f0f3ff; }
.op-prev-next { display:flex; justify-content:space-between; gap:15px; margin:25px 0; }
.op-prev-next a { padding:10px 14px; border:1px solid #ddd; border-radius:4px; }
.op-product-side figure { height:180px; display:flex; align-items:center; justify-content:center; }
.op-product-side figure img { max-height:170px; object-fit:contain; }
.op-product-side .rating { display:block; margin-bottom:20px; }
.op-product-side .rating em { display:block; margin-top:5px; }
.op-other-review { display:block; padding:13px 0; border-bottom:1px solid #eee; }
.op-other-review .rating, .op-other-review strong, .op-other-review small { display:block; }
.op-other-review strong { margin:4px 0; color:#333; }

.op-company-list .company_listing { margin-bottom:18px; }
.op-company-list .company_info { display:flex; align-items:center; }
.op-company-list .company_info figure { flex:none; }
.op-company-list .company_info figure img { width:90px; height:90px; object-fit:contain; }
.op-company-list .op-company-copy { min-width:0; padding-left:20px; }
.op-company-list h2 { margin:2px 0 7px; font-size:22px; }
.op-company-list h2 a { color:#222; }
.op-company-list p { margin:0; color:#717782; }
.op-rank { color:var(--op-blue); font-weight:500; }
.op-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:25px; }
.op-pills a { padding:8px 13px; border:1px solid #dfe3ea; border-radius:30px; color:#4a5260; }
.op-pills a:hover { border-color:var(--op-blue); color:var(--op-blue); }
.op-toprated { margin-bottom:25px; }
.op-toprated > div { display:flex; flex-wrap:wrap; gap:10px; }
.op-toprated a { min-width:180px; flex:1; padding:12px; border-radius:4px; background:#f7f8fa; }
.op-toprated a strong, .op-toprated a span { display:block; }
.op-toprated a strong { color:#333; }
.op-toprated a span { margin-top:4px; color:#707783; font-size:12px; }
.op-page-search { display:flex; max-width:800px; margin:0 auto 35px; }
.op-page-search .op-search-wrap { flex:1; }
.op-page-search .form-control { height:52px; border-radius:5px 0 0 5px; }
.op-page-search .btn_1 { border-radius:0 5px 5px 0; }
.op-auth-box { height:100%; }
.op-auth-box h2 { margin-bottom:5px; }
.op-auth-box .form-group { position:relative; margin-bottom:18px; }
.op-auth-box .form-group > i { position:absolute; right:14px; bottom:13px; color:#9aa0aa; }
.op-auth-box .form-control { min-height:48px; }
.op-radio-row { display:flex; gap:22px; margin:8px 0 20px; }
.op-business-note { max-width:700px; margin:30px auto 0; text-align:center; }
.op-write-box .form-group { margin-bottom:20px; }
.op-write-box .form-control { min-height:50px; }
.op-write-box textarea.form-control { min-height:220px; }
.op-honeypot { position:absolute; left:-9999px; top:-9999px; }
.op-plus, .op-minus { width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#63a824; color:#fff; }
.op-minus { background:#ce4c4c; }
.op-choice { margin:5px 0 20px; padding:16px; border:1px solid #e0e3e8; border-radius:5px; }
.op-choice legend { float:none; width:auto; margin:0 0 8px; font-size:15px; font-weight:500; }
.op-choice label { margin-right:22px; }
.op-guidelines { margin:0; padding-left:18px; }
.op-guidelines li { margin-bottom:8px; }

/* Legacy public templates that have not yet needed structural changes. */
.op-vanno .main-container { min-height:600px; padding:155px 0 60px; background:#f8f8f8; }
.op-vanno .main-container > .wrapper { width:min(1140px,calc(100% - 30px)); margin:0 auto; }
.op-vanno .main-container .content { width:100%; }
.op-vanno .main-container .tit { margin-bottom:25px; }
.op-vanno .main-container .tit > span { display:block; color:var(--op-blue); font-size:13px; font-weight:500; text-transform:uppercase; }
.op-vanno .main-container .tit h1 { margin:0; color:#222; font-size:38px; }
.op-vanno .main-container .breadcrumbs { margin-bottom:20px; color:#8a9098; font-size:12px; }
.op-vanno .main-container .breadcrumbs a { color:#566071; }
.op-vanno .main-container .form, .op-vanno .main-container .insertform, .op-vanno .main-container .usercontent, .op-vanno .main-container .widget { padding:28px; border:1px solid var(--op-line); border-radius:6px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.op-vanno .main-container input.input, .op-vanno .main-container textarea.textarea, .op-vanno .main-container select.input { width:100%; min-height:48px; margin:7px 0 16px; padding:10px 12px; border:1px solid #d7dce3; border-radius:4px; background:#fff; }
.op-vanno .main-container textarea.textarea { min-height:160px; }
.op-vanno .main-container input.btn { padding:12px 22px; border:0; border-radius:4px; background:var(--op-blue); color:#fff; font-weight:500; }
.op-vanno .main-container .login { display:flex; flex-wrap:wrap; gap:22px; }
.op-vanno .main-container .login > .column { flex:1 1 300px; }
.op-vanno .main-container .login .head h2 { font-size:24px; }
.op-vanno .main-container .hidden { display:none!important; }
.op-vanno .main-container .insertopinion { max-width:820px; margin:auto; }
.op-vanno .main-container .insertopinion label { display:block; font-weight:500; }
.op-vanno .main-container .insertopinion .consiglia label, .op-vanno .main-container .insertopinion .cond label { display:inline-block; margin:6px 16px 10px 0; font-weight:400; }
.op-vanno .main-container .details { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:30px; }
.op-vanno .main-container .details .sidebar img { max-width:100%; max-height:260px; object-fit:contain; }

@media(max-width:991px){
  .op-vanno .header:not(.sticky) #logo { background:#fff; }
  .op-vanno header .hamburger-inner, .op-vanno header .hamburger-inner::before, .op-vanno header .hamburger-inner::after { background-color:#333; }
  .op-vanno header #top_menu .login:before { color:#333; }
  .op-vanno .op-hero h1 { font-size:38px; }
  .reviews_summary > .wrapper { padding-top:120px; }
  .reviews_summary .review_detail { margin-top:30px; }
  .op-company-list .company_listing .float-md-end { float:none!important; margin-top:20px; }
}
@media(max-width:767px){
  .op-vanno #logo { left:50%; transform:translateX(-50%); }
  .op-vanno .op-hero { background-position:center; }
  .op-vanno .op-hero h1 { font-size:30px; }
  .op-vanno .op-hero .custom-search-input-2 input[type=submit] { margin-top:10px; }
  .op-vanno .grid_item figure { height:220px; }
  .op-inner-hero { height:240px; }
  .op-inner-hero h1, .op-inner-hero h2 { font-size:30px; }
  .reviews_summary > .wrapper { padding-top:105px; }
  .reviews_summary .op-summary-main figure { float:none; width:100px; height:100px; margin-bottom:15px; }
  .reviews_summary .op-summary-main { text-align:center; }
  .op-list-toolbar { align-items:stretch; flex-direction:column; }
  .op-list-toolbar form { display:grid; grid-template-columns:1fr 1fr; }
  .op-list-toolbar select { width:100%; min-width:0; }
  .review_card .user_info { text-align:left; display:flex; align-items:center; gap:12px; margin-bottom:15px; }
  .review_card .user_info figure { margin:0; }
  .review_card .user_info h5 { margin:0; }
  .op-pros-cons { grid-template-columns:1fr; }
  .op-company-list .company_info { align-items:flex-start; }
  .op-company-list .company_info figure img { width:68px; height:68px; }
  .op-company-list .op-company-copy { padding-left:14px; }
  .op-company-list h2 { font-size:18px; }
  .op-page-search { flex-direction:column; gap:8px; }
  .op-page-search .form-control, .op-page-search .btn_1 { border-radius:4px; }
  .op-vanno .main-container { padding-top:115px; }
  .op-vanno .main-container .content.fullwidth a { overflow-wrap:anywhere; }
  .op-vanno .main-container .details { grid-template-columns:1fr; }
  .op-vanno .main-container .details .sidebar { order:-1; }
}
