
.elms-4605 .elms-element.elms-element-8626c97{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-4e2e5a3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-fc6cad7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-1cf4ffa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-78d4241{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-41e4488{--display:flex;}.elms-4605 .elms-element.elms-element-7e2d30e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-353e5b2{--display:flex;}.elms-4605 .elms-element.elms-element-8848f37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-ad48638{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-2aa13d8{--display:flex;}.elms-4605 .elms-element.elms-element-1d9933f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-39c034d{--display:flex;}.elms-4605 .elms-element.elms-element-55fe23d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-2d686a1{--display:flex;}.elms-4605 .elms-element.elms-element-f6c64a9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-38a22d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-8ab124a{--display:flex;}.elms-4605 .elms-element.elms-element-555447b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-d74b5d7{--display:flex;}.elms-4605 .elms-element.elms-element-d70b463{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-ce28aa4{--display:flex;}.elms-4605 .elms-element.elms-element-6afe91d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-b72442f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-af1f075{--display:flex;}.elms-4605 .elms-element.elms-element-80dba9b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-8a15324{--display:flex;}.elms-4605 .elms-element.elms-element-53a1ab7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-a84d0a6{--display:flex;}.elms-4605 .elms-element.elms-element-4b024be{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-cdc1d6f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-24d43b2{--display:flex;}.elms-4605 .elms-element.elms-element-e516f49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-ad38cb8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-a8e486c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elms-4605 .elms-element.elms-element-26aaa05{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.surfing-intro {
background: #f9fafb; 
padding: 60px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-intro .container {
max-width: 900px;
margin: 0 auto;
text-align: center;
}
.surfing-intro p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 15px;
color: #334155;
}
.surfing-intro strong {
color: #2563eb; 
}
.surfing-intro em {
font-style: italic;
color: #475569; 
}
.surfing-toc {
background: #f1f5f9;
padding: 40px 20px;
font-family: 'Poppins', sans-serif;
margin-bottom: 40px;
border-radius: 12px;
}
.surfing-toc .container {
max-width: 900px;
margin: 0 auto;
}
.surfing-toc h2 {
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 16px;
text-align: center;
color: #0f172a;
}
.surfing-toc ul {
list-style: none;
padding: 0;
margin: 0;
}
.surfing-toc ul li {
margin: 8px 0;
}
.surfing-toc ul li a {
text-decoration: none;
color: #2563eb;
font-weight: 500;
transition: color 0.2s ease;
}
.surfing-toc ul li a:hover {
color: #0f172a;
}
.surfing-toc ul ul {
padding-left: 20px;
margin-top: 6px;
}
.surfing-toc ul ul li a {
font-size: 0.95rem;
font-weight: 400;
}
.surfing-south {
background: #ffffff;
padding: 60px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-south .container {
max-width: 900px;
margin: 0 auto;
}
.surfing-south h2 {
font-size: 1.75rem;
margin-bottom: 20px;
font-weight: 700;
text-align: center;
color: #0f172a;
}
.surfing-south p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 15px;
color: #334155;
}
.surfing-south strong {
color: #2563eb; 
}
.surfing-south em {
font-style: italic;
color: #475569; 
}
.surfing-south-list {
margin-top: 25px;
text-align: center;
font-size: 1rem;
color: #64748b;
padding: 10px 0;
border-top: 1px dashed #e2e8f0;
}
@media (max-width: 768px) {
.surfing-south {
padding: 40px 16px;
}
.surfing-south h2 {
font-size: 1.5rem;
margin-bottom: 16px;
}
.surfing-south p {
font-size: 1rem;
line-height: 1.75;
}
}
.south-surf-chart {
--bg: #ffffff;
--text: #1f2937;
--muted: #64748b;
--axis: #e2e8f0;
--excellent: #16a34a; 
--great: #2563eb;     
--shoulder: #f59e0b;  
--off: #94a3b8;       
--bar-w: 34px;        
--bar-gap: 10px;      
--h: 180px;           
background: var(--bg);
padding: 40px 16px;
font-family: 'Poppins', sans-serif;
color: var(--text);
}
.south-surf-chart .container {
max-width: 960px;
margin: 0 auto;
}
.south-surf-chart h3 {
text-align: center;
font-size: 1.35rem;
font-weight: 700;
margin-bottom: 14px;
color: #0f172a;
}
.south-surf-chart .legend {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
font-size: 0.92rem;
color: var(--muted);
margin-bottom: 16px;
}
.south-surf-chart .legend .dot {
display: inline-block;
width: 10px; height: 10px;
border-radius: 50%;
margin-right: 8px;
translate: 0 1px;
}
.south-surf-chart .legend .dot-excellent { background: var(--excellent); }
.south-surf-chart .legend .dot-great { background: var(--great); }
.south-surf-chart .legend .dot-shoulder { background: var(--shoulder); }
.south-surf-chart .legend .dot-off { background: var(--off); }
.south-surf-chart .chart {
position: relative;
display: grid;
grid-auto-flow: column;
grid-auto-columns: var(--bar-w);
gap: var(--bar-gap);
align-items: end;
height: var(--h);
padding: 14px 10px 36px;
border: 1px solid var(--axis);
border-radius: 14px;
overflow-x: auto;        
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scroll-snap-type: x proximity;
background:
linear-gradient(to top, transparent calc(100% - 1px), var(--axis) calc(100% - 1px)) no-repeat;
}
.south-surf-chart .chart::-webkit-scrollbar { height: 6px; }
.south-surf-chart .chart::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.south-surf-chart .bar {
position: relative;
height: calc(var(--h) * (var(--v) / 100));
border-radius: 10px 10px 4px 4px;
background: var(--off); 
transition: transform .2s ease-in-out;
scroll-snap-align: start;
}
.south-surf-chart .bar[data-label="Excellent"] { background: var(--excellent); }
.south-surf-chart .bar[data-label="Great"]     { background: var(--great); }
.south-surf-chart .bar[data-label="Shoulder"]  { background: var(--shoulder); }
.south-surf-chart .bar::after {
content: attr(data-month);
position: absolute;
inset: auto 0 -26px 0;
text-align: center;
font-size: 0.78rem;
color: var(--muted);
}
.south-surf-chart .bar::before {
content: attr(data-label);
position: absolute;
left: 50%;
bottom: calc(100% + 8px);
transform: translateX(-50%);
background: #0f172a;
color: #fff;
font-size: 0.74rem;
padding: 4px 8px;
border-radius: 8px;
opacity: 0;
pointer-events: none;
white-space: nowrap;
transition: opacity .15s ease-in-out, transform .15s ease-in-out;
transform-origin: bottom center;
}
.south-surf-chart .bar:hover::before {
opacity: 1;
transform: translateX(-50%) translateY(-2px);
}
.south-surf-chart .bar:hover {
transform: translateY(-3px);
}
.south-surf-chart .sr-table-wrap {
margin-top: 16px;
overflow-x: auto;
}
.south-surf-chart .sr-table {
width: 100%;
border-collapse: collapse;
font-size: 0.95rem;
}
.south-surf-chart .sr-table th,
.south-surf-chart .sr-table td {
border: 1px solid var(--axis);
padding: 10px 12px;
text-align: left;
}
.south-surf-chart .sr-table thead th {
background: #f8fafc;
}
@media (min-width: 769px) {
.south-surf-chart {
padding: 60px 20px;
--bar-w: 48px;
--bar-gap: 14px;
--h: 220px;
}
.south-surf-chart h3 {
font-size: 1.6rem;
margin-bottom: 18px;
}
}
.surfing-south-beaches {
background: #f9fafb;
padding: 40px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-south-beaches .container {
max-width: 800px;
margin: 0 auto;
}
.surfing-south-beaches h3 {
font-size: 1.5rem;
font-weight: 700;
text-align: center;
margin: 0;
color: #0f172a;
}
.surfing-east {
background: #ffffff;
padding: 60px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-east .container {
max-width: 900px;
margin: 0 auto;
}
.surfing-east h2 {
font-size: 1.75rem;
margin-bottom: 20px;
font-weight: 700;
text-align: center;
color: #0f172a;
}
.surfing-east p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 15px;
color: #334155;
}
.surfing-east strong {
color: #2563eb;
}
.surfing-east em {
font-style: italic;
color: #475569;
}
.surfing-east-list {
margin-top: 25px;
text-align: center;
font-size: 1rem;
color: #64748b;
}
.east-surf-chart {
--bg: #ffffff;
--text: #1f2937;
--muted: #64748b;
--axis: #e2e8f0;
--excellent: #16a34a; 
--great: #2563eb;     
--shoulder: #f59e0b;  
--off: #94a3b8;       
--bar-w: 34px;        
--bar-gap: 10px;      
--h: 180px;           
background: var(--bg);
padding: 40px 16px;
font-family: 'Poppins', sans-serif;
color: var(--text);
}
.east-surf-chart .container {
max-width: 960px;
margin: 0 auto;
}
.east-surf-chart h3 {
text-align: center;
font-size: 1.35rem;
font-weight: 700;
margin-bottom: 14px;
color: #0f172a;
}
.east-surf-chart .legend {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
font-size: 0.92rem;
color: var(--muted);
margin-bottom: 16px;
}
.east-surf-chart .legend .dot {
display: inline-block;
width: 10px; height: 10px;
border-radius: 50%;
margin-right: 8px;
translate: 0 1px;
}
.east-surf-chart .legend .dot-excellent { background: var(--excellent); }
.east-surf-chart .legend .dot-great { background: var(--great); }
.east-surf-chart .legend .dot-shoulder { background: var(--shoulder); }
.east-surf-chart .legend .dot-off { background: var(--off); }
.east-surf-chart .chart {
position: relative;
display: grid;
grid-auto-flow: column;
grid-auto-columns: var(--bar-w);
gap: var(--bar-gap);
align-items: end;
height: var(--h);
padding: 14px 10px 36px;
border: 1px solid var(--axis);
border-radius: 14px;
overflow-x: auto;        
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scroll-snap-type: x proximity;
background:
linear-gradient(to top, transparent calc(100% - 1px), var(--axis) calc(100% - 1px)) no-repeat;
}
.east-surf-chart .chart::-webkit-scrollbar { height: 6px; }
.east-surf-chart .chart::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.east-surf-chart .bar {
position: relative;
height: calc(var(--h) * (var(--v) / 100));
border-radius: 10px 10px 4px 4px;
background: var(--off); 
transition: transform .2s ease-in-out;
scroll-snap-align: start;
}
.east-surf-chart .bar[data-label="Excellent"] { background: var(--excellent); }
.east-surf-chart .bar[data-label="Great"]     { background: var(--great); }
.east-surf-chart .bar[data-label="Shoulder"]  { background: var(--shoulder); }
.east-surf-chart .bar::after {
content: attr(data-month);
position: absolute;
inset: auto 0 -26px 0;
text-align: center;
font-size: 0.78rem;
color: var(--muted);
}
.east-surf-chart .bar::before {
content: attr(data-label);
position: absolute;
left: 50%;
bottom: calc(100% + 8px);
transform: translateX(-50%);
background: #0f172a;
color: #fff;
font-size: 0.74rem;
padding: 4px 8px;
border-radius: 8px;
opacity: 0;
pointer-events: none;
white-space: nowrap;
transition: opacity .15s ease-in-out, transform .15s ease-in-out;
transform-origin: bottom center;
}
.east-surf-chart .bar:hover::before {
opacity: 1;
transform: translateX(-50%) translateY(-2px);
}
.east-surf-chart .bar:hover {
transform: translateY(-3px);
}
.east-surf-chart .sr-table-wrap {
margin-top: 16px;
overflow-x: auto;
}
.east-surf-chart .sr-table {
width: 100%;
border-collapse: collapse;
font-size: 0.95rem;
}
.east-surf-chart .sr-table th,
.east-surf-chart .sr-table td {
border: 1px solid var(--axis);
padding: 10px 12px;
text-align: left;
}
.east-surf-chart .sr-table thead th {
background: #f8fafc;
}
@media (min-width: 769px) {
.east-surf-chart {
padding: 60px 20px;
--bar-w: 48px;
--bar-gap: 14px;
--h: 220px;
}
.east-surf-chart h3 {
font-size: 1.6rem;
margin-bottom: 18px;
}
}
.surfing-east-beaches {
background: #f9fafb;
padding: 40px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-east-beaches .container {
max-width: 800px;
margin: 0 auto;
}
.surfing-east-beaches h3 {
font-size: 1.5rem;
font-weight: 700;
text-align: center;
margin: 0;
color: #0f172a;
}
.surfing-north {
background: #ffffff;
padding: 60px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-north .container {
max-width: 900px;
margin: 0 auto;
}
.surfing-north h2 {
font-size: 1.75rem;
margin-bottom: 20px;
font-weight: 700;
text-align: center;
color: #0f172a;
}
.surfing-north p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 15px;
color: #334155;
}
.surfing-north strong {
color: #2563eb;
}
.surfing-north em {
font-style: italic;
color: #475569;
}
.surfing-north-list {
margin-top: 25px;
text-align: center;
font-size: 1rem;
color: #64748b;
}
.north-surf-chart {
--bg: #ffffff;
--text: #1f2937;
--muted: #64748b;
--axis: #e2e8f0;
--excellent: #16a34a;
--great: #2563eb;
--shoulder: #f59e0b;
--off: #94a3b8;
--bar-w: 34px;
--bar-gap: 10px;
--h: 180px;
background: var(--bg);
padding: 40px 16px;
font-family: 'Poppins', sans-serif;
color: var(--text);
}
.north-surf-chart .container {
max-width: 960px;
margin: 0 auto;
}
.north-surf-chart h3 {
text-align: center;
font-size: 1.35rem;
font-weight: 700;
margin-bottom: 14px;
color: #0f172a;
}
.north-surf-chart .legend {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
font-size: 0.92rem;
color: var(--muted);
margin-bottom: 16px;
}
.north-surf-chart .legend .dot {
display: inline-block;
width: 10px; height: 10px;
border-radius: 50%;
margin-right: 8px;
}
.north-surf-chart .legend .dot-excellent { background: var(--excellent); }
.north-surf-chart .legend .dot-great { background: var(--great); }
.north-surf-chart .legend .dot-shoulder { background: var(--shoulder); }
.north-surf-chart .legend .dot-off { background: var(--off); }
.north-surf-chart .chart {
position: relative;
display: grid;
grid-auto-flow: column;
grid-auto-columns: var(--bar-w);
gap: var(--bar-gap);
align-items: end;
height: var(--h);
padding: 14px 10px 36px;
border: 1px solid var(--axis);
border-radius: 14px;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scroll-snap-type: x proximity;
background: linear-gradient(to top, transparent calc(100% - 1px), var(--axis) calc(100% - 1px)) no-repeat;
}
.north-surf-chart .chart::-webkit-scrollbar { height: 6px; }
.north-surf-chart .chart::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.north-surf-chart .bar {
position: relative;
height: calc(var(--h) * (var(--v) / 100));
border-radius: 10px 10px 4px 4px;
background: var(--off);
transition: transform .2s ease-in-out;
scroll-snap-align: start;
}
.north-surf-chart .bar[data-label="Excellent"] { background: var(--excellent); }
.north-surf-chart .bar[data-label="Great"] { background: var(--great); }
.north-surf-chart .bar[data-label="Shoulder"] { background: var(--shoulder); }
.north-surf-chart .bar::after {
content: attr(data-month);
position: absolute;
inset: auto 0 -26px 0;
text-align: center;
font-size: 0.78rem;
color: var(--muted);
}
.north-surf-chart .bar::before {
content: attr(data-label);
position: absolute;
left: 50%;
bottom: calc(100% + 8px);
transform: translateX(-50%);
background: #0f172a;
color: #fff;
font-size: 0.74rem;
padding: 4px 8px;
border-radius: 8px;
opacity: 0;
pointer-events: none;
transition: opacity .15s ease-in-out, transform .15s ease-in-out;
}
.north-surf-chart .bar:hover::before {
opacity: 1;
transform: translateX(-50%) translateY(-2px);
}
.north-surf-chart .bar:hover {
transform: translateY(-3px);
}
.north-surf-chart .sr-table-wrap {
margin-top: 16px;
overflow-x: auto;
}
.north-surf-chart .sr-table {
width: 100%;
border-collapse: collapse;
font-size: 0.95rem;
}
.north-surf-chart .sr-table th,
.north-surf-chart .sr-table td {
border: 1px solid var(--axis);
padding: 10px 12px;
text-align: left;
}
.north-surf-chart .sr-table thead th {
background: #f8fafc;
}
@media (min-width: 769px) {
.north-surf-chart {
padding: 60px 20px;
--bar-w: 48px;
--bar-gap: 14px;
--h: 220px;
}
.north-surf-chart h3 {
font-size: 1.6rem;
margin-bottom: 18px;
}
}
.surfing-north-beaches {
background: #f9fafb;
padding: 40px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-north-beaches .container {
max-width: 800px;
margin: 0 auto;
}
.surfing-north-beaches h3 {
font-size: 1.5rem;
font-weight: 700;
text-align: center;
margin: 0;
color: #0f172a;
}
.surfing-west {
background: #ffffff;
padding: 60px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-west .container {
max-width: 900px;
margin: 0 auto;
}
.surfing-west h2 {
font-size: 1.75rem;
margin-bottom: 20px;
font-weight: 700;
text-align: center;
color: #0f172a;
}
.surfing-west p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 15px;
color: #334155;
}
.surfing-west strong {
color: #2563eb;
}
.surfing-west em {
font-style: italic;
color: #475569;
}
@media (max-width: 768px) {
.surfing-west {
padding: 40px 16px;
}
.surfing-west h2 {
font-size: 1.5rem;
margin-bottom: 16px;
}
.surfing-west p {
font-size: 1rem;
line-height: 1.75;
}
}
.west-surf-chart {
--bg: #ffffff;
--text: #1f2937;
--muted: #64748b;
--axis: #e2e8f0;
--excellent: #16a34a; 
--great: #2563eb;     
--shoulder: #f59e0b;  
--off: #94a3b8;       
--bar-w: 34px;        
--bar-gap: 10px;
--h: 180px;
background: var(--bg);
padding: 40px 16px;
font-family: 'Poppins', sans-serif;
color: var(--text);
}
.west-surf-chart .container {
max-width: 960px;
margin: 0 auto;
}
.west-surf-chart h3 {
text-align: center;
font-size: 1.35rem;
font-weight: 700;
margin-bottom: 14px;
color: #0f172a;
}
.west-surf-chart .legend {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
font-size: 0.92rem;
color: var(--muted);
margin-bottom: 16px;
}
.west-surf-chart .legend .dot {
display: inline-block;
width: 10px; height: 10px;
border-radius: 50%;
margin-right: 8px;
translate: 0 1px;
}
.west-surf-chart .legend .dot-excellent { background: var(--excellent); }
.west-surf-chart .legend .dot-great { background: var(--great); }
.west-surf-chart .legend .dot-shoulder { background: var(--shoulder); }
.west-surf-chart .legend .dot-off { background: var(--off); }
.west-surf-chart .chart {
position: relative;
display: grid;
grid-auto-flow: column;
grid-auto-columns: var(--bar-w);
gap: var(--bar-gap);
align-items: end;
height: var(--h);
padding: 14px 10px 36px;
border: 1px solid var(--axis);
border-radius: 14px;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scroll-snap-type: x proximity;
background:
linear-gradient(to top, transparent calc(100% - 1px), var(--axis) calc(100% - 1px)) no-repeat;
}
.west-surf-chart .chart::-webkit-scrollbar { height: 6px; }
.west-surf-chart .chart::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.west-surf-chart .bar {
position: relative;
height: calc(var(--h) * (var(--v) / 100));
border-radius: 10px 10px 4px 4px;
background: var(--off);
transition: transform .2s ease-in-out;
scroll-snap-align: start;
}
.west-surf-chart .bar[data-label="Excellent"] { background: var(--excellent); }
.west-surf-chart .bar[data-label="Great"]     { background: var(--great); }
.west-surf-chart .bar[data-label="Shoulder"]  { background: var(--shoulder); }
.west-surf-chart .bar::after {
content: attr(data-month);
position: absolute;
inset: auto 0 -26px 0;
text-align: center;
font-size: 0.78rem;
color: var(--muted);
}
.west-surf-chart .bar::before {
content: attr(data-label);
position: absolute;
left: 50%;
bottom: calc(100% + 8px);
transform: translateX(-50%);
background: #0f172a;
color: #fff;
font-size: 0.74rem;
padding: 4px 8px;
border-radius: 8px;
opacity: 0;
pointer-events: none;
transition: opacity .15s ease-in-out, transform .15s ease-in-out;
}
.west-surf-chart .bar:hover::before {
opacity: 1;
transform: translateX(-50%) translateY(-2px);
}
.west-surf-chart .bar:hover {
transform: translateY(-3px);
}
.west-surf-chart .sr-table-wrap {
margin-top: 16px;
overflow-x: auto;
}
.west-surf-chart .sr-table {
width: 100%;
border-collapse: collapse;
font-size: 0.95rem;
}
.west-surf-chart .sr-table th,
.west-surf-chart .sr-table td {
border: 1px solid var(--axis);
padding: 10px 12px;
text-align: left;
}
.west-surf-chart .sr-table thead th {
background: #f8fafc;
}
@media (min-width: 769px) {
.west-surf-chart {
padding: 60px 20px;
--bar-w: 48px;
--bar-gap: 14px;
--h: 220px;
}
.west-surf-chart h3 {
font-size: 1.6rem;
margin-bottom: 18px;
}
}
.surfing-west-beaches {
background: #f9fafb;
padding: 40px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-west-beaches .container {
max-width: 800px;
margin: 0 auto;
}
.surfing-west-beaches h3 {
font-size: 1.5rem;
font-weight: 700;
text-align: center;
margin: 0;
color: #0f172a;
}
.surfing-info,
.surfing-skill {
background: #ffffff;
padding: 60px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
}
.surfing-info .container,
.surfing-skill .container {
max-width: 900px;
margin: 0 auto;
}
.surfing-info h2,
.surfing-skill h2 {
font-size: 1.75rem;
font-weight: 700;
text-align: center;
margin-bottom: 20px;
color: #0f172a;
}
.surfing-skill h3 {
font-size: 1.25rem;
font-weight: 700;
margin: 20px 0 8px;
color: #0f172a;
}
.surfing-info p,
.surfing-skill p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 14px;
color: #334155;
}
.surfing-info strong,
.surfing-skill strong { color: #2563eb; }
.surfing-info em,
.surfing-skill em { color: #475569; font-style: italic; }
@media (max-width: 768px) {
.surfing-info,
.surfing-skill { padding: 40px 16px; }
.surfing-info h2,
.surfing-skill h2 { font-size: 1.5rem; }
.surfing-skill h3 { font-size: 1.15rem; }
.surfing-info p,
.surfing-skill p { font-size: 1rem; line-height: 1.75; }
}
.surfing-final-note {
background: #f1f5f9;
padding: 50px 20px;
font-family: 'Poppins', sans-serif;
color: #1f2937;
border-radius: 12px;
margin-top: 40px;
}
.surfing-final-note .container {
max-width: 900px;
margin: 0 auto;
text-align: center;
}
.surfing-final-note h2 {
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 16px;
color: #0f172a;
}
.surfing-final-note p {
font-size: 1.05rem;
line-height: 1.8;
margin-bottom: 14px;
}
.surfing-final-note a {
color: #2563eb;
font-weight: 600;
text-decoration: none;
}
.surfing-final-note a:hover {
text-decoration: underline;
}