.sponsor-card{display:flex;flex-direction:column;height:160px;background:#f7f4e9;color:#3f5046;border:1px solid #ddd9c8;border-radius:7px;padding:14px;min-width:0}
.sidebar>.sponsor-card{margin-top:32px;flex-shrink:0}
.sidebar{overflow-y:auto}
.roastpi-banner{display:grid;grid-template-rows:17px 24px 1fr 20px;height:160px;gap:5px;min-width:0;padding:14px;background:#eef5fa;border:1px solid #caddea;border-radius:7px;color:#324c5d;text-decoration:none;transition:border-color .15s,background .15s}
.sidebar>.roastpi-banner{margin-top:12px;flex-shrink:0}
.roastpi-banner:hover{border-color:#7daeca;background:#e6f1f8}.roastpi-banner:focus-visible{outline:3px solid #6aa3c6;outline-offset:3px}
.roastpi-banner-label{font-size:11px;color:#758d9b;line-height:1.5}.roastpi-banner img{max-width:100%;height:auto;align-self:center}
.roastpi-banner-copy{font-size:13px;line-height:1.65;color:#4f6877}.roastpi-banner-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.6;color:#286f9b;margin-top:0}
.sponsor-label{display:block;font-size:11px;letter-spacing:.04em;color:#8c8064;margin-bottom:0}
.sponsor-body{display:flex;flex:1;flex-direction:column;justify-content:center;gap:10px;min-height:0}
.sponsor-logo:not(.has-image){display:none}
.sponsor-card.has-sponsor{height:auto;min-height:160px}
.sponsor-logo{display:flex;justify-content:center;align-items:center;width:70px;height:32px;border:1px solid #d3cbb6;border-radius:3px;font-size:12px;letter-spacing:1.5px;color:#85785c;background:#fffdf6}
.sponsor-logo.has-image{background:transparent;border:0;width:100%;height:45px;justify-content:flex-start}.sponsor-logo img{max-width:100%;max-height:45px;object-fit:contain}
.sponsor-body h3{font-size:15px;line-height:1.5;font-weight:600}.sponsor-body p{font-size:12px;line-height:1.6;color:#827b68;margin-top:4px}
.sponsor-card>button,.sponsor-link{display:flex;justify-content:space-between;width:100%;border-top:1px solid #ddd7c4;padding:8px 0 0;margin-top:0;font-size:13px;color:#726343;text-align:left;text-decoration:none}
.sponsor-card>button:hover,.sponsor-link:hover{text-decoration:underline}.sponsor-link:not([hidden])+button{margin-top:8px}
.google-ad-card{padding:18px 0 20px;background:#fff;border:1px solid #e0e5dc;border-radius:7px;min-width:0}
.google-ad-label{display:block;max-width:300px;margin:0 auto 10px;color:#8c958c;font-size:11px;letter-spacing:.02em}
.google-ad-unit{width:300px;height:250px;margin:auto}
.advertising-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 0;padding:18px 0;border-top:1px solid #dde5d9;color:#748371;font-size:13px}
.advertising-footer button{font-size:14px;color:#3d6656;min-height:44px}
#ad-inquiry{max-width:570px;max-height:calc(100dvh - 32px);width:calc(100% - 32px);padding:28px;border:1px solid #d6dfd2;border-radius:9px;color:#24463c;overflow-y:auto}
#ad-inquiry::backdrop{background:#102b2470}
.inquiry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.inquiry-top small{font-size:10px;letter-spacing:1.6px;color:#849681}.inquiry-top h2{font-size:25px;margin-top:8px}.inquiry-top button{font-size:28px;min-width:44px;min-height:44px}
#ad-inquiry>p{font-size:14px;color:#788a78;margin:12px 0 24px}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inquiry-fields label{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;font-size:13px;color:#56705e;min-width:0}
.required-label{font-size:11px;color:#8b826d}
.inquiry-fields input,.inquiry-fields textarea{flex-basis:100%;width:100%;min-width:0;border:1px solid #d9e2d5;border-radius:4px;padding:10px;background:#fbfcf9;font-size:14px;color:#355e48}
.inquiry-message{grid-column:1/-1}.inquiry-contact{font-size:13px;color:#6f7c6d;margin-top:20px}.inquiry-contact a{display:inline-block;margin-left:8px;color:#355f4e;overflow-wrap:anywhere}
.inquiry-note{font-size:12px;line-height:1.7;color:#858575;margin:12px 0 16px}
.inquiry-actions{display:flex;gap:10px;flex-wrap:wrap}.inquiry-submit,.inquiry-copy{min-height:44px;padding:10px 14px;border-radius:4px;font-size:14px}.inquiry-submit{flex:1;color:#fff;background:#3f6d59}.inquiry-copy{color:#436755;border:1px solid #cfdcc9;background:#fff}.inquiry-feedback{font-size:13px;line-height:1.7;color:#55745d;margin-top:12px}
.responsive-advertising{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
@media(min-width:1101px) and (max-width:1180px){.sidebar>.roastpi-banner{gap:3px}.sidebar .roastpi-banner-copy{font-size:12px;line-height:1.5}}
@media(max-width:1100px){
  .responsive-advertising>.sponsor-card,.responsive-advertising>.roastpi-banner{height:110px;padding:12px 16px}
  .sponsor-label,.roastpi-banner-label{font-size:10px;line-height:15px;margin-bottom:0}
  .sponsor-body{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px}
  .sponsor-body h3{font-size:15px;line-height:1.4}.sponsor-body p{font-size:12px;line-height:1.5;margin-top:2px}
  .sponsor-logo.has-image{width:66px;height:38px;flex-shrink:0}
  .sponsor-card>button,.sponsor-link{border-top:0;justify-content:space-between;gap:12px;padding-top:0;margin-top:0;font-size:12px;line-height:20px}
  .sponsor-card.has-sponsor{height:auto;min-height:110px}
  .sponsor-link:not([hidden])+button{margin-top:6px}
  .responsive-advertising>.roastpi-banner{grid-template-columns:100px minmax(0,1fr);grid-template-rows:15px 1fr 20px;gap:4px 16px}
  .roastpi-banner-label{grid-column:1/-1}
  .roastpi-banner img{grid-column:1;grid-row:2/4}
  .roastpi-banner-copy{grid-column:2;grid-row:2;align-self:center;font-size:12px;line-height:1.5}
  .roastpi-banner-cta{grid-column:2;grid-row:3;margin-top:0;font-size:12px;line-height:20px}
  .roastpi-desktop-break{display:none}
  .google-ad-card{grid-column:1/-1}
}
@media(max-width:720px){.detail-panel{grid-template-columns:1fr}.google-ad-card{padding:16px 8px 20px}.advertising-footer{flex-direction:column;align-items:flex-start;gap:4px}.inquiry-fields{grid-template-columns:1fr}.inquiry-message{grid-column:auto}#ad-inquiry{padding:22px}.inquiry-fields input,.inquiry-fields textarea{font-size:16px}.inquiry-actions{flex-direction:column}.inquiry-copy,.inquiry-submit{width:100%}}
@media(max-width:390px){.responsive-advertising>.roastpi-banner{grid-template-columns:100px minmax(0,1fr);column-gap:12px}}
/* Both cards stay together below the title when the sidebar becomes narrow. */
@media(max-width:720px){
  .responsive-advertising{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:10px}
  .responsive-advertising>.sponsor-card{height:88px;padding:8px 12px}
  .responsive-advertising>.sponsor-card.has-sponsor{height:auto;min-height:88px}
  .responsive-advertising>.roastpi-banner.roastpi-banner{position:relative;grid-template-columns:100px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 18px;gap:0 12px;height:88px;padding:22px 12px 8px;margin:0}
  .responsive-advertising>.roastpi-banner .roastpi-banner-label{position:absolute;top:6px;left:12px;font-size:10px;line-height:14px}
  .responsive-advertising>.roastpi-banner img{grid-column:1;grid-row:1/3}
  .responsive-advertising>.roastpi-banner .roastpi-banner-copy{grid-column:2;grid-row:1;font-size:12px;line-height:1.4;align-self:center}
  .responsive-advertising>.roastpi-banner .roastpi-banner-cta{grid-column:2;grid-row:2;font-size:11px;line-height:18px}
}
