/*
Theme Name: Shore Awakenings
Theme URI: https://shore-awakenings.com
Description: Twenty Twenty-Five child theme for Shore Awakenings – Jaclyn Hoffman, MS, LPC. TRIAL block-editor rebuild (2026-10-13) of the live site's look: marble bands with torn-paper edges, Quicksand + Source Sans 3, teal lotus links. Pages are built from core blocks; the look ships as block styles.
Author: The Practice Accelerator
Template: twentytwentyfive
Version: 0.1.0
Requires at least: 6.5
Text Domain: shore-awakenings
*/

/* ==========================================================================
   Torn-paper edges + marble bands (block styles on core/group)
   ========================================================================== */
:root{
  --sa-tear:url('assets/images/torn-paper.png');
}

.is-style-marble-teal,
.is-style-marble-dark,
.is-style-marble-gold{
  position:relative;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:#fff;
}
.is-style-marble-teal{background-color:#2a7f7a;background-image:url('assets/images/home-hero-marble.webp')}
.is-style-marble-dark{background-color:#174b4f;background-image:url('assets/images/marble-dark.webp')}
.is-style-marble-gold{background-color:#b08f3b;background-image:url('assets/images/marble-gold.webp')}

.is-style-marble-teal::before,.is-style-marble-teal::after,
.is-style-marble-dark::before,.is-style-marble-dark::after,
.is-style-marble-gold::before,.is-style-marble-gold::after,
.is-style-torn::before,.is-style-torn::after{
  content:"";position:absolute;left:0;width:100%;height:40px;
  background-image:var(--sa-tear);background-repeat:repeat-x;background-size:auto;background-position:bottom center;
  pointer-events:none;z-index:2;
}
.is-style-marble-teal::before,.is-style-marble-dark::before,.is-style-marble-gold::before,.is-style-torn::before{top:0}
.is-style-marble-teal::after,.is-style-marble-dark::after,.is-style-marble-gold::after,.is-style-torn::after{bottom:0;transform:scaleY(-1)}
.no-bottom-tear::after{display:none}
.no-top-tear::before{display:none}

.is-style-marble-dark :where(h1,h2,h3,h4,h5,h6),
.is-style-marble-gold :where(h1,h2,h3,h4,h5,h6),
.is-style-marble-teal :where(h1,h2,h3,h4,h5,h6){color:#fff}
.is-style-marble-dark a,.is-style-marble-gold a,.is-style-marble-teal a{color:#fff}

/* Torn edges on images */
.wp-block-image.is-style-torn{position:relative;line-height:0}
.wp-block-image.is-style-torn img{width:100%;height:auto;display:block}

/* ==========================================================================
   Lotus link (paragraph block style) + right-aligned list
   ========================================================================== */
.is-style-lotus-link a{display:inline-flex;align-items:center;gap:4px;font-size:1.15em;color:var(--wp--preset--color--teal);text-decoration:underline;text-decoration-color:rgba(36,166,153,.4);text-underline-offset:4px}
.is-style-lotus-link a::before{content:"";width:34px;height:34px;flex:0 0 34px;background-color:var(--wp--preset--color--teal);
  -webkit-mask:url('assets/images/lotus.png') center/contain no-repeat;mask:url('assets/images/lotus.png') center/contain no-repeat}
.is-style-lotus-link a:hover{color:var(--wp--preset--color--teal);text-decoration-color:var(--wp--preset--color--teal)}
.is-style-lotus-link.has-text-align-right a{flex-direction:row}

.wp-block-list.is-style-right{direction:rtl;text-align:right;padding:0 20px 0 0;line-height:1.3}

/* ==========================================================================
   Page rhythm
   ========================================================================== */
.wp-site-blocks > *,
.wp-block-post-content > .alignfull{margin-block-start:0}
.wp-block-post-content > .alignfull + .alignfull{margin-block-start:0}

/* ==========================================================================
   Header
   ========================================================================== */
.sa-header{position:relative;z-index:20}
.sa-header .wp-block-site-logo img,.sa-header .sa-logo img{width:64px;height:auto}
.sa-header .wp-block-navigation a{color:var(--wp--preset--color--ink)}
.sa-header .wp-block-navigation a:hover,
.sa-header .wp-block-navigation .current-menu-item > a{color:var(--wp--preset--color--teal);text-decoration:none}
.sa-header .wp-block-navigation__responsive-container.is-menu-open{padding:40px 24px}
.sa-header .wp-block-navigation__responsive-container.is-menu-open a{font-size:18px}

/* ==========================================================================
   Homepage hero – portrait + logo stack on teal marble
   ========================================================================== */
.sa-hero{min-height:clamp(560px,calc(100vh - 140px),860px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.sa-hero-stack{position:relative;display:flex;align-items:center;justify-content:center;min-height:577px;width:100%}
.sa-hero-stack > .wp-block-image{margin:0}
.sa-hero-stack .sa-hero-portrait{position:absolute;left:50%;top:50%;width:512px;max-width:none;transform:translate(calc(-50% - 227px),-50%);z-index:1}
.sa-hero-stack .sa-hero-portrait img{width:512px;height:auto}
.sa-hero-stack .sa-hero-logo{position:relative;z-index:3;width:461px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.55))}
.sa-hero-stack .sa-hero-logo img{width:100%;height:auto}

/* ==========================================================================
   Counseling Services cards
   ========================================================================== */
.sa-services .wp-block-columns{gap:1.5em}
.sa-services .wp-block-column{text-align:center}
.sa-services .wp-block-image{margin:0 auto 12px}
.sa-services .wp-block-image img{width:102px;height:auto;margin:0 auto}
.sa-services h3{font-size:20px;line-height:1.5;margin:0 0 4px;color:#fff}
.sa-services .wp-block-column p{font-size:14px;line-height:1.45;margin:0}

/* ==========================================================================
   Therapy Intensives
   ========================================================================== */
.sa-intensives .wp-block-columns{align-items:center}
.sa-intensives .wp-block-column > .wp-block-heading{margin-top:0}
.sa-intensives .wp-block-image.is-style-torn{max-width:450px;margin-inline:auto}
.sa-intensives ul{padding-left:3em}

/* ==========================================================================
   Book Your Free Consult (WPForms)
   ========================================================================== */
.sa-consult h2{margin-bottom:40px}
.sa-consult .wpforms-container{max-width:500px;margin:0 auto!important}
.sa-consult div.wpforms-container-full .wpforms-form .wpforms-field{padding:0 0 14px!important}
.sa-consult div.wpforms-container-full .wpforms-form .wpforms-field-label,
.sa-consult div.wpforms-container-full .wpforms-form .wpforms-field-label *{color:#fff!important;font-family:"Source Sans 3",sans-serif!important;font-weight:700!important;font-size:16px!important;text-transform:none!important;letter-spacing:normal!important;margin:0 0 6px!important}
.sa-consult div.wpforms-container-full .wpforms-form .wpforms-required-label{color:#fff!important}
.sa-consult div.wpforms-container-full .wpforms-form input[type=text],
.sa-consult div.wpforms-container-full .wpforms-form input[type=email],
.sa-consult div.wpforms-container-full .wpforms-form input[type=tel],
.sa-consult div.wpforms-container-full .wpforms-form textarea{width:100%!important;max-width:100%!important;height:46px!important;background:#F0F0F0!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-family:"Source Sans 3",sans-serif!important;font-size:16px!important;color:#333!important;padding:10px 12px!important}
.sa-consult div.wpforms-container-full .wpforms-form .wpforms-submit-container{position:relative;padding-top:12px!important}
.sa-consult div.wpforms-container-full .wpforms-form button.wpforms-submit{width:100%!important;height:46px!important;background:#24A699!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-family:"Source Sans 3",sans-serif!important;font-weight:700!important;font-size:16px!important;text-transform:none!important;letter-spacing:normal!important;padding:0 22px 0 56px!important;cursor:pointer}
.sa-consult div.wpforms-container-full .wpforms-form button.wpforms-submit:hover{background:#36736D!important}
.sa-consult .wpforms-submit-container::before{content:"";position:absolute;left:.6em;top:calc(50% + 6px);transform:translateY(-50%);width:24px;height:24px;background:#fff;z-index:2;pointer-events:none;
  -webkit-mask:url('assets/images/lotus.png') center/contain no-repeat;mask:url('assets/images/lotus.png') center/contain no-repeat}
.sa-consult .wpforms-submit-container::after{content:"";position:absolute;left:calc(.6em + 28px);top:calc(50% + 6px);transform:translateY(-50%);width:1px;height:1.2em;background:rgba(255,255,255,.5);z-index:2;pointer-events:none}
.sa-consult .wpforms-confirmation-container-full{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.4)!important}
.sa-consult .wpforms-confirmation-container-full p{color:#fff!important}

/* ==========================================================================
   Footer
   ========================================================================== */
.sa-footer{font-size:13px}
/* Spacing copied from the live footer: 17px under the heading, 13px links on
   1.618 lines with no gap between items, two link columns 32px apart; columns
   300px / 473px / rest with 32px gutters. */
.sa-footer h4{color:#fff;margin:0 0 17px!important;line-height:1.2}
.sa-footer ul{list-style:none;margin:0!important;padding:0}
.sa-footer li,.sa-footer ul > li{line-height:1.618;margin:0!important;padding:0}
.sa-footer .sa-two-col{columns:2;column-gap:32px}
.sa-footer .sa-two-col li{break-inside:avoid}
.sa-footer .sa-two-col li:nth-child(6){break-before:column} /* 5 + 5, Testimonials heads column 2 (live order) */
.sa-footer .wp-block-columns{column-gap:32px!important}
.sa-footer .wp-block-column.sa-ftr-logo{flex:0 0 300px!important}
.sa-footer .wp-block-columns > .wp-block-column:nth-child(2){flex:0 0 473px!important}
.sa-footer .wp-block-columns > .wp-block-column:nth-child(3){flex:1 1 auto!important}
.sa-footer a{color:#fff;text-decoration:none}
.sa-footer a:hover{text-decoration:underline;color:#fff}
.sa-footer .wp-block-separator{border-top:1px solid rgba(255,255,255,.6);opacity:1;width:100%;max-width:none}

/* ==========================================================================
   Mobile (phones in portrait AND landscape)
   ========================================================================== */
@media (max-width:1024px){
  .sa-hero-stack .sa-hero-portrait{width:420px;transform:translate(calc(-50% - 180px),-50%)}
  .sa-hero-stack .sa-hero-portrait img{width:420px}
  .sa-hero-stack .sa-hero-logo{width:380px}
}
@media (max-width:781px),
       (hover:none) and (pointer:coarse) and (max-height:500px){
  .sa-hero{min-height:0;padding-top:70px!important;padding-bottom:70px!important}
  .sa-hero-stack{min-height:0}
  .sa-hero-stack .sa-hero-portrait{display:none}
  .sa-hero-stack .sa-hero-logo{width:min(461px,90%)}
  .sa-widows .has-text-align-right{text-align:left!important}
  .wp-block-list.is-style-right{direction:ltr;text-align:left;padding:0 0 0 1.4em}
  .sa-services .wp-block-columns{flex-wrap:wrap!important;justify-content:center}
  .sa-services .wp-block-column{flex:1 1 140px!important;max-width:180px}
  .sa-intensives .sa-flip{flex-direction:column-reverse}
  .sa-footer .wp-block-columns{text-align:center}
  .sa-footer .wp-block-column.sa-ftr-logo,
  .sa-footer .wp-block-columns > .wp-block-column:nth-child(2),
  .sa-footer .wp-block-columns > .wp-block-column:nth-child(3){flex:1 1 100%!important}
  .sa-footer .sa-ftr-logo{order:10}
  .sa-footer .sa-ftr-logo img{margin:0 auto}
}
@media (hover:none) and (pointer:coarse){
  .sa-footer,.sa-footer li,.sa-services .wp-block-column p,.has-small-font-size{font-size:14px!important}
}

/* ==========================================================================
   Inner pages (Counseling, Grief Support, Resources, Rates, FAQs, ...)
   ========================================================================== */
.sa-inner-cols{margin-top:40px}
.sa-inner-cols .wp-block-image.is-style-torn img{width:100%;height:auto}

/* Accordion (Counseling Services) – core Details blocks */
.wp-block-details.sa-acc{border:1px solid #e3e3e3;margin:0!important;background:#fff}
.wp-block-details.sa-acc + .wp-block-details.sa-acc{border-top:0}
.wp-block-details.sa-acc summary{list-style:none;cursor:pointer;padding:18px 48px 18px 20px;position:relative;font-size:15px;color:var(--wp--preset--color--ink)}
.wp-block-details.sa-acc summary::-webkit-details-marker{display:none}
.wp-block-details.sa-acc summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--wp--preset--color--teal-dark)}
.wp-block-details.sa-acc[open] summary::after{content:"\2212"}
.wp-block-details.sa-acc > :not(summary){padding:0 20px 18px;margin:0}

/* Testimonials */
.sa-testimonials .wp-block-column > p{text-align:center;font-size:16px;line-height:1.75}
.sa-t-meta{gap:10px;margin-top:20px!important}
.sa-t-meta .wp-block-image{margin:0}
.sa-t-meta .wp-block-image img{width:44px;height:auto}
.sa-t-meta p{margin:0;font-size:12px;line-height:1.4}

/* Resources – events table + flyers */
.sa-events{margin-top:50px}
.sa-events table{border-collapse:collapse;width:100%;font-size:15px}
.sa-events th{background:var(--wp--preset--color--teal);color:#fff;text-align:left;font-weight:600;padding:10px 14px;border:0}
.sa-events td{padding:10px 14px;border:0;border-bottom:1px solid #e3e3e3;vertical-align:top}
.sa-events tbody tr:nth-child(even) td{background:#f7f7f7}

/* Rates – Mentaya widget */
.sa-mentaya iframe{width:100%;max-width:600px;border:0;display:block;margin:20px auto 0}
@media (max-width:600px){.sa-mentaya iframe{height:590px}}

/* Inner-page headings: smaller than the homepage section headings (live sizes) */
.page-template-default .wp-block-post-content h2{font-size:clamp(24px,2.6vw,32px);line-height:1.25}
.page-template-default .wp-block-post-content h3{font-size:clamp(20px,2vw,24px)}

/* Blog index + single */
.sa-blog .wp-block-post-template{gap:40px}
.sa-card-title{text-transform:uppercase;letter-spacing:.06em;font-size:14px!important;margin-bottom:12px}
.sa-card-title a{color:var(--wp--preset--color--teal-dark);text-decoration:none}
.sa-card-cat a{color:var(--wp--preset--color--teal);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--wp--preset--color--teal);text-decoration:none}
.sa-blog .wp-block-post-excerpt__more-link{color:var(--wp--preset--color--teal)}
.sa-single-img img{width:100%;height:auto}
.single .wp-block-post-content h2{font-size:36px}
.single .wp-block-post-content h3{font-size:24px}

@media (max-width:781px){
  .sa-events table,.sa-events thead,.sa-events tbody,.sa-events tr,.sa-events td{display:block;width:100%}
  .sa-events thead{display:none}
  .sa-events tr{border-bottom:1px solid #e3e3e3;padding:10px 0}
  .sa-events td{border:0;padding:2px 0}
  .sa-events tbody tr:nth-child(even) td{background:transparent}
}

/* ==========================================================================
   Events calendar (Resources) – FullCalendar styled like the live site
   ========================================================================== */
.sa-events td img{max-width:120px;height:auto}
.sa-events--as-calendar{display:none}
.sa-calendar{margin:50px 0 20px;font-family:"Source Sans 3",sans-serif;color:#333;--fc-today-bg-color:rgba(36,166,153,.12);--fc-border-color:#CFCFDA;--fc-neutral-bg-color:#F8F8F8;--fc-page-bg-color:#fff}
.sa-calendar .fc-toolbar.fc-header-toolbar{margin-bottom:24px}
.sa-calendar .fc-toolbar-title{font-family:Quicksand,sans-serif;font-size:28px;font-weight:600;color:#36736D}
.sa-calendar .fc-button,
.sa-calendar .fc-button-primary{background:#24A699;border:0;border-radius:3px!important;color:#fff;font-size:13px;line-height:19px;padding:8px 12px;text-transform:capitalize;box-shadow:none!important}
.sa-calendar .fc-button-group > .fc-button + .fc-button{margin-left:6px}
.sa-calendar .fc-toolbar-chunk > .fc-button + .fc-button,
.sa-calendar .fc-toolbar-chunk > .fc-button-group + .fc-button{margin-left:8px}
.sa-calendar .fc-button-primary:hover{background:#36736D}
.sa-calendar .fc-button-primary:not(:disabled).fc-button-active,
.sa-calendar .fc-button-primary:not(:disabled):active{background:#36736D}
.sa-calendar .fc-today-button:disabled{background:#24A699;opacity:.6}
.sa-calendar .fc-timeGridDay-button::before,
.sa-calendar .fc-timeGridWeek-button::before,
.sa-calendar .fc-dayGridMonth-button::before,
.sa-calendar .fc-listMonth-button::before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;background:#fff;
  -webkit-mask:var(--sa-ico) center/contain no-repeat;mask:var(--sa-ico) center/contain no-repeat}
.sa-calendar .fc-timeGridDay-button{--sa-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M0 1h12v2H0zM0 5h12v2H0zM0 9h12v2H0z'/%3E%3C/svg%3E")}
.sa-calendar .fc-timeGridWeek-button{--sa-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M0 1h2v2H0zM4 1h8v2H4zM0 5h2v2H0zM4 5h8v2H4zM0 9h2v2H0zM4 9h8v2H4z'/%3E%3C/svg%3E")}
.sa-calendar .fc-dayGridMonth-button{--sa-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M0 0h3.5v3.5H0zM4.25 0h3.5v3.5h-3.5zM8.5 0H12v3.5H8.5zM0 4.25h3.5v3.5H0zM4.25 4.25h3.5v3.5h-3.5zM8.5 4.25H12v3.5H8.5zM0 8.5h3.5V12H0zM4.25 8.5h3.5V12h-3.5zM8.5 8.5H12V12H8.5z'/%3E%3C/svg%3E")}
.sa-calendar .fc-listMonth-button{--sa-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M0 0h12v3.5H0zM0 4.25h12v3.5H0zM0 8.5h12V12H0z'/%3E%3C/svg%3E")}
.sa-calendar .fc-theme-standard td,.sa-calendar .fc-theme-standard th,
.sa-calendar .fc-theme-standard .fc-scrollgrid{border-color:#CFCFDA}
.sa-calendar .fc-col-header-cell{background:#F8F8F8}
.sa-calendar .fc-col-header-cell-cushion{display:block;padding:10px;font-size:16px;font-weight:600;color:#333;text-decoration:none}
.sa-calendar .fc-daygrid-day{background:#FDFDFD}
.sa-calendar .fc-daygrid-day-frame{min-height:128px}
.sa-calendar .fc-daygrid-day-top{justify-content:center}
.sa-calendar .fc-daygrid-day-number{padding:4px;font-size:16px;color:#333;text-decoration:none}
.sa-calendar .fc-day-other .fc-daygrid-day-number{color:#ccc}
.sa-calendar .fc-day-other .fc-daygrid-day-top{opacity:1}
.sa-calendar .fc .fc-daygrid-day.fc-day-today,
.sa-calendar .fc-day-today{background:rgba(36,166,153,.12)}
.sa-calendar .fc-daygrid-event,
.sa-calendar .fc-timegrid-event,
.sa-calendar .fc-event{background:#24A699;border:0;border-radius:3px;color:#fff;cursor:pointer}
.sa-calendar .fc-daygrid-event{padding:5px 10px;font-size:13.6px;margin:2px 4px 0!important;white-space:nowrap;overflow:hidden}
.sa-calendar .fc-daygrid-event .fc-event-main{display:flex;gap:4px;color:#fff;font-weight:600}
.sa-calendar .fc-event-time{font-weight:600}
.sa-calendar .fc-list-event:hover td{background:rgba(36,166,153,.08)}
.sa-calendar .fc-list-event-dot{border-color:#24A699}
.sa-calendar .fc-list-day-cushion{background:#F8F8F8}
.sa-calendar a{text-decoration:none}

/* Event pop-up */
.sa-cal-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.45);padding:20px}
.sa-cal-modal.is-open{display:flex}
.sa-cal-modal__box{position:relative;background:#fff;width:100%;max-width:660px;max-height:85vh;overflow:auto;padding:26px 28px 24px;box-shadow:0 10px 40px rgba(0,0,0,.25);border-radius:4px}
.sa-cal-modal__close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.2);font-size:20px;line-height:1;cursor:pointer;color:#777}
.sa-cal-modal__title{font-family:Quicksand,sans-serif;font-size:28px;font-weight:600;color:#36736D;margin:0 40px 4px 0;line-height:1.2}
.sa-cal-modal__date,.sa-cal-modal__loc{font-size:13px;color:#555;margin:0 0 4px}
.sa-cal-modal__body{margin:12px 0 14px;font-size:15px}
.sa-cal-modal__body img{max-width:240px;width:auto!important;height:auto}
.sa-cal-modal__link{display:block;background:#24A699;color:#fff!important;font-size:14px;font-weight:600;padding:4px 6px;text-decoration:none}
.sa-cal-modal__link:hover{background:#36736D}
@media (max-width:781px){
  .sa-calendar .fc-header-toolbar{flex-direction:column;gap:12px}
  .sa-calendar .fc-toolbar-title{font-size:22px}
  .sa-calendar .fc-daygrid-day-frame{min-height:80px}
  .sa-calendar .fc-daygrid-event{padding:3px 5px;font-size:11px}
}
