
/* =========================================================
   OTTO BLOG REDESIGN — editorial safari layout
   Scoped to standard WordPress posts/blog archives only.
   Does not alter tour archive or tour-detail layouts.
========================================================= */
.otto-blog-page{--ob-teal:#28B5A4;--ob-dark:#26786E;--ob-orange:#E48E45;--ob-ink:#232323;--ob-body:#494D41;--ob-soft:rgba(40,181,164,.05);--ob-warm:#FCF7EF;--ob-green:#F5FBF6;--ob-border:#E3E8E5;background:#fff;color:var(--ob-body);}
.otto-blog-shell{width:min(1280px,calc(100% - 40px));margin:0 auto;}
.otto-blog-hero{background:linear-gradient(135deg,var(--ob-soft),var(--ob-warm));border-bottom:1px solid var(--ob-border);padding:64px 0 48px;}
.otto-blog-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ob-dark);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;}
.otto-blog-hero__eyebrow:before{content:"";width:28px;height:2px;background:var(--ob-orange);}
.otto-blog-hero h1{margin:0;color:var(--ob-ink);font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.035em;font-weight:800;}
.otto-blog-hero p{max-width:760px;margin:18px 0 0;font-size:18px;line-height:1.7;color:var(--ob-body);}
.otto-blog-toolbar{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap;}
.otto-blog-chip{display:inline-flex;padding:9px 14px;border:1px solid var(--ob-border);border-radius:999px;background:#fff;color:var(--ob-dark);font-size:13px;font-weight:700;text-decoration:none;}
.otto-blog-chip:hover{border-color:var(--ob-teal);color:var(--ob-dark);text-decoration:none;}
.otto-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px;padding:54px 0 80px;}
.otto-blog-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);background:#fff;border:1px solid var(--ob-border);border-radius:20px;overflow:hidden;box-shadow:0 14px 38px rgba(12,37,28,.08);margin-bottom:36px;}
.otto-blog-feature__image{min-height:360px;background:var(--ob-soft);}
.otto-blog-feature__image img{width:100%;height:100%;object-fit:cover;display:block;}
.otto-blog-feature__content{padding:34px;}
.otto-blog-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#6c7771;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.otto-blog-meta a{color:var(--ob-dark);text-decoration:none;}
.otto-blog-feature h2{margin:14px 0 12px;font-size:clamp(25px,3vw,36px);line-height:1.12;color:var(--ob-ink);letter-spacing:-.025em;}
.otto-blog-feature h2 a,.otto-blog-card h2 a{color:inherit;text-decoration:none;}
.otto-blog-feature h2 a:hover,.otto-blog-card h2 a:hover{color:var(--ob-dark);}
.otto-blog-excerpt{font-size:15px;line-height:1.75;color:var(--ob-body);margin:0 0 22px;}
.otto-blog-read{display:inline-flex;align-items:center;gap:8px;color:#fff!important;background:var(--ob-orange);border-radius:8px;padding:11px 16px;font-size:13px;font-weight:800;text-decoration:none!important;}
.otto-blog-read:hover{background:var(--ob-teal);}
.otto-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.otto-blog-card{border:1px solid var(--ob-border);border-radius:16px;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.otto-blog-card:hover{transform:translateY(-3px);border-color:rgba(40,181,164,.45);box-shadow:0 12px 30px rgba(12,37,28,.09);}
.otto-blog-card__image{aspect-ratio:16/9;background:var(--ob-green);overflow:hidden;}
.otto-blog-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.otto-blog-card:hover .otto-blog-card__image img{transform:scale(1.035);}
.otto-blog-card__body{padding:22px;}
.otto-blog-card h2{font-size:21px;line-height:1.25;margin:10px 0 10px;color:var(--ob-ink);}
.otto-blog-card .otto-blog-excerpt{font-size:14px;margin-bottom:18px;}
.otto-blog-sidebar{position:relative;}
.otto-blog-sidebox{border:1px solid var(--ob-border);border-radius:16px;padding:22px;background:#fff;margin-bottom:22px;}
.otto-blog-sidebox h2{font-size:18px;color:var(--ob-ink);margin:0 0 15px;}
.otto-blog-sidebox ul{list-style:none;margin:0;padding:0;}
.otto-blog-sidebox li{border-bottom:1px solid #edf0ee;padding:10px 0;}
.otto-blog-sidebox li:last-child{border-bottom:0;}
.otto-blog-sidebox a{color:var(--ob-body);font-weight:600;text-decoration:none;}
.otto-blog-sidebox a:hover{color:var(--ob-dark);}
.otto-blog-search{display:flex;gap:7px;}
.otto-blog-search input{min-width:0;flex:1;border:1px solid var(--ob-border);border-radius:8px;padding:11px 12px;}
.otto-blog-search button{border:0;border-radius:8px;background:var(--ob-teal);color:#fff;padding:0 14px;font-weight:800;cursor:pointer;}
.otto-blog-pagination{display:flex;justify-content:center;gap:8px;margin-top:42px;flex-wrap:wrap;}
.otto-blog-pagination .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--ob-border);border-radius:8px;color:var(--ob-dark);text-decoration:none;font-weight:700;}
.otto-blog-pagination .current,.otto-blog-pagination .page-numbers:hover{background:var(--ob-teal);border-color:var(--ob-teal);color:#fff;}
.otto-post{padding:54px 0 85px;}
.otto-post-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px;}
.otto-post__main{min-width:0;}
.otto-post__header{max-width:900px;margin-bottom:30px;}
.otto-post__title{font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-.035em;color:var(--ob-ink);margin:12px 0 18px;}
.otto-post__intro{font-size:18px;line-height:1.75;color:var(--ob-body);}
.otto-post__hero{margin:0 0 34px;border-radius:18px;overflow:hidden;background:var(--ob-green);}
.otto-post__hero img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;}
.otto-post__content{font-size:17px;line-height:1.82;color:var(--ob-body);}
.otto-post__content h2{font-size:30px;line-height:1.2;color:var(--ob-ink);margin:42px 0 15px;}
.otto-post__content h3{font-size:23px;color:var(--ob-ink);margin:30px 0 12px;}
.otto-post__content a{color:var(--ob-dark);text-decoration:underline;text-decoration-color:rgba(40,181,164,.45);text-underline-offset:3px;}
.otto-post__content img{max-width:100%;height:auto;border-radius:10px;}
.otto-post__content blockquote{margin:30px 0;padding:20px 24px;border-left:4px solid var(--ob-orange);background:var(--ob-warm);border-radius:0 10px 10px 0;}
.otto-post__content ul,.otto-post__content ol{padding-left:1.4em;}
.otto-post__footer{margin-top:45px;padding-top:22px;border-top:1px solid var(--ob-border);}
.otto-post-tags{display:flex;gap:8px;flex-wrap:wrap;}
.otto-post-tags a{background:var(--ob-green);border:1px solid var(--ob-border);border-radius:999px;padding:7px 11px;text-decoration:none;color:var(--ob-dark);font-size:12px;font-weight:700;}
.otto-related{margin-top:58px;padding-top:34px;border-top:1px solid var(--ob-border);}
.otto-related h2{font-size:28px;color:var(--ob-ink);margin:0 0 22px;}
.otto-related .otto-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.otto-blog-cta{background:var(--ob-dark);color:#fff;border-radius:16px;padding:25px;margin-top:22px;}
.otto-blog-cta h2{color:#fff;margin:0 0 8px;font-size:21px;}
.otto-blog-cta p{margin:0 0 16px;color:rgba(255,255,255,.82);line-height:1.6;font-size:14px;}
.otto-blog-cta a{display:inline-flex;background:var(--ob-orange);color:#fff;text-decoration:none;border-radius:8px;padding:10px 14px;font-weight:800;font-size:13px;}
.otto-blog-cta a:hover{background:var(--ob-teal);}
@media(max-width:980px){
  .otto-blog-layout,.otto-post-layout{grid-template-columns:1fr;gap:34px;}
  .otto-blog-sidebar{order:2;}
  .otto-blog-feature{grid-template-columns:1fr;}
  .otto-blog-feature__image{min-height:260px;}
}
@media(max-width:700px){
  .otto-blog-shell{width:min(100% - 28px,1280px);}
  .otto-blog-hero{padding:42px 0 34px;}
  .otto-blog-hero p{font-size:16px;}
  .otto-blog-layout{padding:34px 0 60px;}
  .otto-blog-grid,.otto-related .otto-blog-grid{grid-template-columns:1fr;}
  .otto-blog-feature__content{padding:23px;}
  .otto-blog-feature h2{font-size:27px;}
  .otto-blog-card__body{padding:19px;}
  .otto-post{padding:35px 0 60px;}
  .otto-post__title{font-size:35px;}
  .otto-post__intro{font-size:16px;}
  .otto-post__content{font-size:16px;line-height:1.75;}
  .otto-post__content h2{font-size:26px;}
}
