/* v2 targets only the existing Orange County forecast container. Seminole is untouched. */
.gcfow-v2-mounted > :not(.gcfow-v2) { display: none !important; }
.gcfow-v2, .gcfow-v2 * { box-sizing: border-box; }
.gcfow-v2 {
  width: 100%; max-width: 1250px; margin: 0 auto; padding: clamp(18px, 2.4vw, 32px) clamp(12px, 2vw, 24px);
  color: #003f4b; font-family: inherit; text-align: left;
}
.gcfow-v2-top { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-bottom: 17px; }
.gcfow-v2-eyebrow { font-size: 12px !important; font-weight: 800 !important; color: #063a48 !important; margin: 0 0 8px !important; letter-spacing: .05em; }
.gcfow-v2 .gcfow-v2-title { margin: 0 0 8px !important; color: #fff !important; text-shadow: -1px -1px 0 #003f4b, 1px -1px 0 #003f4b, -1px 1px 0 #003f4b, 1px 1px 0 #003f4b; font-weight: 800 !important; font-size: clamp(24px, 3vw, 33px) !important; line-height: 1.2 !important; }
.gcfow-v2-description { color: #003f4b !important; margin: 0 !important; font-size: 12px !important; }
.gcfow-v2-location { width: 235px; max-width: 100%; flex-shrink: 0; }
.gcfow-v2-label { display: block !important; font-size: 13px !important; font-weight: 800 !important; color: #003b46 !important; margin: 0 0 8px !important; }
.gcfow-v2-select-wrap { position: relative; width: 100%; }
.gcfow-v2 .gcfow-v2-select {
  appearance: none !important; -moz-appearance: none !important; -webkit-appearance: none !important;
  display: block !important; width: 100% !important; height: 56px !important; min-height: 56px !important;
  background: #fff !important; background-image: none !important; color: #003f4b !important;
  border: 2px solid #0097b2 !important; border-radius: 9px !important;
  padding: 9px 50px 9px 17px !important; font-size: 15px !important; line-height: 1.4 !important; font-weight: 700 !important; font-family: inherit !important;
  cursor: pointer !important; box-shadow: none !important; text-overflow: ellipsis;
}
.gcfow-v2 .gcfow-v2-select:focus-visible { outline: 3px solid #003f4b !important; outline-offset: 3px !important; }
.gcfow-v2-chevron { position: absolute; top: 50%; right: 13px; transform: translateY(-50%); pointer-events: none; color: #006579; z-index: 1; }
.gcfow-v2-status { background: #fff7df; padding: 10px 13px; border: 1px solid #d2a04e; border-radius: 8px; margin: 8px 0 14px !important; font-size: 13px; color: #643f00; }
.gcfow-v2-status[hidden] { display: none !important; }
.gcfow-v2-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gcfow-v2-cards[hidden], .gcfow-v2-hourly[hidden] { display: none !important; }
.gcfow-v2-card { border: 1px solid #f0ddb2; border-top: 4px solid #008cab; padding: 18px 16px 17px; background: #fffcf6; min-width: 0; border-radius: 12px; box-shadow: 0 2px 3px #00000007; }
.gcfow-v2-today { background: #d5f2f7; border-color: #0097b2; }
.gcfow-v2 .gcfow-v2-card-label { margin: 0 0 12px !important; font-size: 15px !important; line-height: 1.3 !important; color: #004856 !important; font-weight: 800 !important; }
.gcfow-v2 .gcfow-v2-card-temp { margin: 0 0 7px !important; font-size: clamp(24px, 3vw, 31px) !important; line-height: 1.2 !important; font-weight: 800 !important; color: #004856 !important; }
.gcfow-v2 .gcfow-v2-card-condition { margin: 0 0 8px !important; font-size: 14px !important; line-height: 1.35 !important; color: #00607a !important; }
.gcfow-v2 .gcfow-v2-card-meta { margin: 0 !important; color: #28566a !important; font-size: 12px !important; line-height: 1.45 !important; }
.gcfow-v2-hourly { margin-top: 14px; color: #003f4b; }
.gcfow-v2-hourly summary { cursor: pointer; display: list-item !important; width: fit-content; font-size: 13px; font-weight: 800; padding: 5px 0; }
.gcfow-v2-hours { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-top: 9px; }
.gcfow-v2-hour { display: flex; flex-direction: column; gap: 4px; border-radius: 8px; padding: 10px; background: #fffdf6; font-size: 13px; border: 1px solid #f3ddaa; }
.gcfow-v2-hour small { color: #28566a; line-height: 1.4; }
.gcfow-v2-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 17px; }
.gcfow-v2-source { font-size: 12px !important; line-height: 1.4 !important; margin: 0 !important; color: #003f4b !important; }
.gcfow-v2-actions { display: flex; align-items: center; gap: 18px; }
.gcfow-v2-forecast-link { color: #003f4b !important; font-weight: 700; font-size: 13px; text-decoration: underline; }
.gcfow-v2-refresh { color: #fff !important; background: #007a88 !important; border: 0 !important; padding: 13px 16px !important; border-radius: 10px !important; font-size: 13px !important; line-height: 1.4 !important; font-weight: 700 !important; font-family: inherit !important; cursor: pointer !important; }
.gcfow-v2-refresh:hover, .gcfow-v2-refresh:focus-visible { background: #00545e !important; }
.gcfow-v2-refresh:disabled { opacity: .65; cursor: wait !important; }
/* Shortcode-only fallback: useful on a separate page, not required for the existing panel. */
.gcfow-v2-shortcode { background: #ffa600; border-radius: 12px; }
@media (max-width: 760px) {
  .gcfow-v2 { padding: 16px 10px 20px; }
  .gcfow-v2-top { align-items: stretch; flex-direction: column; }
  .gcfow-v2-location { width: 100%; }
  .gcfow-v2-cards { grid-template-columns: 1fr; }
  .gcfow-v2-hours { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gcfow-v2-footer { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 420px) {
  .gcfow-v2-hours { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gcfow-v2-actions { width: 100%; justify-content: space-between; }
  .gcfow-v2 .gcfow-v2-card-temp { font-size: 29px !important; }
}
